struts-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bertrand Gillis (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (WW-4347) Support for JDK 8 Lambdas
Date Thu, 18 Dec 2014 15:33:13 GMT

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

Bertrand Gillis commented on WW-4347:
-------------------------------------

Maybe you could fix this compatibility issue easily by checking what version of ASM is available
in the classpath.
Depending on ASM version, you could then enable or disable support for Java 8 Lambdas in Struts2.
That way, people not interested for now in Java 8 Lambdas could still depend on ASM 3 instead
of ASM 5.

> 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.20
>
>         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)

Mime
View raw message