[ 
https://issues.apache.org/jira/browse/WICKET-6913?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17399704#comment-17399704
 ] 

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)

Reply via email to