[
https://issues.apache.org/jira/browse/WICKET-6913?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17400173#comment-17400173
]
Emond Papegaaij commented on WICKET-6913:
-----------------------------------------
A dependency upgrade normally is fine, but we guarantee API compatibility on
upgrades within a major version. There's always a bit of a gray area when it
comes to API changes in dependencies, as this is technically speaking not the
Wicket API. However, swapping one dependency for an entirely different one can
have serious consequences when upgrading. Therefore I opt to copy the updated
module to Wicket 9.x under a new name. That way, we can stay entirely API
compatible, and still offer support for Java 17.
> Java 17 compatibility
> ---------------------
>
> Key: WICKET-6913
> URL: https://issues.apache.org/jira/browse/WICKET-6913
> Project: Wicket
> Issue Type: Bug
> Components: wicket-spring
> Affects Versions: 9.4.0
> Reporter: Robert Bain
> Assignee: Martin Tzvetanov Grigorov
> Priority: Major
> Fix For: 10.0.0
>
>
> Wicket's use of cglib means that as of Java 16, you need to specify
> --illegal-access=permit. As of Java 17, this is no longer possible, which
> I've verified using a JDK 17 Early-Access Build.
> See [https://github.com/cglib/cglib/issues/191]
> See
> [https://stackoverflow.com/questions/66974846/java-lang-exceptionininitializererror-with-java-16-j-l-classformaterror-access]
>
> {code}
> Caused by: java.lang.NoClassDefFoundError: Could not initialize class
> net.sf.cglib.proxy.EnhancerCaused by: java.lang.NoClassDefFoundError: Could
> not initialize class net.sf.cglib.proxy.Enhancer at
> org.apache.wicket.proxy.LazyInitProxyFactory.createProxy(LazyInitProxyFactory.java:182)
> at
> org.apache.wicket.spring.injection.annot.AnnotProxyFieldValueFactory.getFieldValue(AnnotProxyFieldValueFactory.java:166)
> at org.apache.wicket.injection.Injector.inject(Injector.java:111) at
> org.apache.wicket.spring.injection.annot.SpringComponentInjector.inject(SpringComponentInjector.java:124)
> at
> org.apache.wicket.spring.injection.annot.SpringComponentInjector.onInstantiation(SpringComponentInjector.java:130)
> at
> org.apache.wicket.application.ComponentInstantiationListenerCollection$1.notify(ComponentInstantiationListenerCollection.java:38)
> at
> org.apache.wicket.application.ComponentInstantiationListenerCollection$1.notify(ComponentInstantiationListenerCollection.java:34)
> at
> org.apache.wicket.util.listener.ListenerCollection.notify(ListenerCollection.java:80)
> at
> org.apache.wicket.application.ComponentInstantiationListenerCollection.onInstantiation(ComponentInstantiationListenerCollection.java:33)
> at org.apache.wicket.Component.<init>(Component.java:690) at
> org.apache.wicket.MarkupContainer.<init>(MarkupContainer.java:179) at
> org.apache.wicket.Page.<init>(Page.java:171) at
> org.apache.wicket.Page.<init>(Page.java:135) at
> org.apache.wicket.markup.html.WebPage.<init>(WebPage.java:74)
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)