[ https://issues.apache.org/jira/browse/WICKET-6913?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17399701#comment-17399701 ]
ASF subversion and git services commented on WICKET-6913: --------------------------------------------------------- Commit 8cfffea6441153a2c59700e4db30d71857fd0cbe in wicket's branch refs/heads/master from Martin Grigorov [ https://gitbox.apache.org/repos/asf?p=wicket.git;h=8cfffea ] WICKET-6913 Replace CGLib with ByteBuddy (#476) * WICKET-6913 Replace CGLib with ByteBuddy in LazyInitProxyFactory TODO: Update the Objenesis related classes too and wicket-jmx (cherry picked from commit 8e1a15b3c08a59cc21c285440d1bf4d3b1876419) * WICKET-6913 Convert Objenesis proxy generator to ByteBuddy (cherry picked from commit 43f040e1ffc2ea03a458cb74aca186e2692e63e8) * WICKET-6913 Replace CGLib with ByteBuddy Replace all occurrences of "cglib" with "byte-buddy". Merge AbstractByteBuddyInterceptor and ByteBuddyInterceptor. I see no need of both. If an application needs special impl of #writeReplace() then it could extend ByteBuddyInterceptor and override it. Improve Maven dependency management related to byte-buddy. * WICKET-6913 Set the ByteBuddy interceptor after creating an instance This is needed because otherwise we may get a cached generated class with wrong interceptor (i.e. IProxyTargetLocator) for classes with generics * WICKET-6913 Fix typos in javadoc > 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 > Priority: Major > > 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)