Thank You for clarification, i will see what i can do with ClassFinder and if i will be anything good i will get back.
2014-06-18 10:25 GMT+02:00 Lukasz Lenart <lukaszlen...@apache.org>: > And we do accept Pull Requests :-) > https://github.com/apache/struts > > 2014-06-18 10:25 GMT+02:00 Lukasz Lenart <lukaszlen...@apache.org>: >> It can be part of 2.3.x as well, the plan is to be compatible with >> JDK8 but not depend on it. Lambdas are implemented as anonymous >> classes as far I can recall, so maybe improving ClassFinder in that >> area would do the trick ;-) >> >> 2014-06-18 10:20 GMT+02:00 Paweł Wielgus <poulw...@gmail.com>: >>> Hi Łukasz, >>> can i somehow help with this? >>> >>> Is it all about classloader black magic >>> or a normal programer can make any progress with this subject. >>> >>> I understand that JDK8 is much more than just lambdas, >>> so maybe i would be able to help with this "lambdas only" problem. >>> >>> I would be happy if S2.3.x would be abble to load such action classes >>> but would not be fully compatible with JDK8. >>> But maybe this is all or nothing case? >>> >>> Best greetings, >>> Paweł Wielgus. >>> >>> >>> >>> >>> 2014-06-18 10:08 GMT+02:00 Lukasz Lenart <lukaszlen...@apache.org>: >>>> S2 isn't JDK8 compatible, it will be case for S2.5 >>>> >>>> >>>> 2014-06-18 10:04 GMT+02:00 Paweł Wielgus <poulw...@gmail.com>: >>>>> Hi all, >>>>> does anyone know >>>>> if this these exceptions [1][2] i see when staring application >>>>> are the result of using lambda expressions inside actions? >>>>> >>>>> If i just move these lambdas out of action body >>>>> to another class (helper) >>>>> everything works just fine. >>>>> >>>>> How can i help to resolve this? >>>>> I would love to have lambdas in action methods. >>>>> >>>>> Struts version is 2.3.16.3 >>>>> Java version is 1.8.0_05 >>>>> >>>>> Best greetings, >>>>> Paweł Wielgus. >>>>> >>>>> >>>>> >>>>> [1] - for action defined in struts.xml >>>>> >>>>> SEVERE: Unable to read class >>>>> [com.ppp.elsevier.struts.action.JournalCoverAction] >>>>> java.lang.ArrayIndexOutOfBoundsException: 51966 >>>>> at org.objectweb.asm.ClassReader.readUTF8(Unknown Source) >>>>> 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.getFilter(ApplicationFilterConfig.java:298) >>>>> at >>>>> org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:119) >>>>> at >>>>> org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4076) >>>>> at >>>>> org.apache.catalina.core.StandardContext.start(StandardContext.java:4730) >>>>> at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057) >>>>> at org.apache.catalina.core.StandardHost.start(StandardHost.java:822) >>>>> at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057) >>>>> at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463) >>>>> at >>>>> org.apache.catalina.core.StandardService.start(StandardService.java:525) >>>>> at org.apache.catalina.core.StandardServer.start(StandardServer.java:754) >>>>> at org.apache.catalina.startup.Catalina.start(Catalina.java:595) >>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>>> at >>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) >>>>> at >>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >>>>> at java.lang.reflect.Method.invoke(Method.java:483) >>>>> at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) >>>>> at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414) >>>>> >>>>> >>>>> >>>>> [2] - for action found by convention plugin >>>>> >>>>> SEVERE: Unable to read class >>>>> [com.ppp.elsevier.struts.action.admin.reports.BuyedBookCategoriesAction] >>>>> java.lang.ArrayIndexOutOfBoundsException: 12919 >>>>> at org.objectweb.asm.ClassReader.<init>(Unknown Source) >>>>> at org.objectweb.asm.ClassReader.<init>(Unknown Source) >>>>> at org.objectweb.asm.ClassReader.<init>(Unknown Source) >>>>> at >>>>> com.opensymphony.xwork2.util.finder.ClassFinder.readClassDef(ClassFinder.java:716) >>>>> 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.getFilter(ApplicationFilterConfig.java:298) >>>>> at >>>>> org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:119) >>>>> at >>>>> org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4076) >>>>> at >>>>> org.apache.catalina.core.StandardContext.start(StandardContext.java:4730) >>>>> at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057) >>>>> at org.apache.catalina.core.StandardHost.start(StandardHost.java:822) >>>>> at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057) >>>>> at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463) >>>>> at >>>>> org.apache.catalina.core.StandardService.start(StandardService.java:525) >>>>> at org.apache.catalina.core.StandardServer.start(StandardServer.java:754) >>>>> at org.apache.catalina.startup.Catalina.start(Catalina.java:595) >>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>>> at >>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) >>>>> at >>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >>>>> at java.lang.reflect.Method.invoke(Method.java:483) >>>>> at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) >>>>> at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414) >>>>> >>>>> --------------------------------------------------------------------- >>>>> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org >>>>> For additional commands, e-mail: user-h...@struts.apache.org >>>>> >>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org >>>> For additional commands, e-mail: user-h...@struts.apache.org >>>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org >>> For additional commands, e-mail: user-h...@struts.apache.org >>> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscr...@struts.apache.org > For additional commands, e-mail: user-h...@struts.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org