[
https://issues.apache.org/jira/browse/WW-4347?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14253355#comment-14253355
]
Bertrand Gillis commented on WW-4347:
-------------------------------------
I share at 200% your point regarding compliance with the latest java
technologies available.
But support for latest Java version should have been added in major version of
Struts2.
Anyway, this issue is more a compatibility issue between ASM dependency of
Struts2 and CXF than Struts2 and Java versions.
Regardless of the Java version of my application, I still can't use Struts2
with CXF.
If Struts2 and CXF were depending on the same version of ASM, it wouldn't be a
problem (true until Struts2 2.3.20).
As CXF is also a main Apache project, I'm a bit suprised that Struts2 and CXF
do not share the same ASM dependency version.
Maybe you should need also some kind of governance between Apache projects to
avoid this type of issue ;-)
> Support for JDK 8 Lambdas
> -------------------------
>
> Key: WW-4347
> URL: https://issues.apache.org/jira/browse/WW-4347
> Project: Struts 2
> Issue Type: New Feature
> Components: Core Actions
> Affects Versions: 2.3.16.3
> Reporter: Erik Berg
> Assignee: Lukasz Lenart
> Labels: jdk8
> Fix For: 2.3.x
>
> Attachments: jdk8test.tar
>
>
> Struts stumbles when encountering lambda expressions in JDK 8. Looks like
> org.objwectweb.asm dependency needs to be updated...
> {code}
> 2014-05-18 10:21:41,111 ERROR
> (com.opensymphony.xwork2.util.finder.ClassFinder:38) - Unable to read class
> [jdk8test.actions.Lambda]
> java.lang.ArrayIndexOutOfBoundsException: 52264
> at org.objectweb.asm.ClassReader.readClass(Unknown Source)
> at org.objectweb.asm.ClassReader.accept(Unknown Source)
> at org.objectweb.asm.ClassReader.accept(Unknown Source)
> at
> com.opensymphony.xwork2.util.finder.ClassFinder.readClassDef(ClassFinder.java:717)
> at
> com.opensymphony.xwork2.util.finder.ClassFinder.<init>(ClassFinder.java:112)
> at
> org.apache.struts2.convention.PackageBasedActionConfigBuilder.findActions(PackageBasedActionConfigBuilder.java:390)
> at
> org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildActionConfigs(PackageBasedActionConfigBuilder.java:347)
> at
> org.apache.struts2.convention.ClasspathPackageProvider.loadPackages(ClasspathPackageProvider.java:53)
> at
> com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:268)
> at
> com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:67)
> at
> org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:445)
> at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:489)
> at
> org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:74)
> at
> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:57)
> at
> org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:281)
> at
> org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:262)
> at
> org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:107)
> at
> org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4775)
> at
> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5452)
> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
> at
> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
> at
> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:744)
> {code}
> Simple test case attached.
> tar xvf jdk8test.tar
> cd jdk8test
> mvn tomcat7:run
> http://localhost:8080/jdk8test
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)