You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Martin Tzvetanov Grigorov (Jira)" <ji...@apache.org> on 2021/08/16 11:53:00 UTC
[jira] [Resolved] (WICKET-6913) Java 17 compatibility
[ https://issues.apache.org/jira/browse/WICKET-6913?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Martin Tzvetanov Grigorov resolved WICKET-6913.
-----------------------------------------------
Fix Version/s: 10.0.0
Assignee: Martin Tzvetanov Grigorov
Resolution: Fixed
Replaced CGLib with ByteBuddy in master branch (Wicket 10.x).
For Wicket 9.x we cannot make such big change so we will have to wait for a new CGLib release.
> 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)