[prev in list] [next in list] [prev in thread] [next in thread] 

List:       struts-user
Subject:    Re: Struts2 configuration (struts.xml) and Convention Plugin not compatible with Java 8?
From:       Paweł_Wielgus <poulwiel () gmail ! com>
Date:       2014-06-18 8:39:17
Message-ID: CA+hYk8ZH_eeDx-47VtPEkzRO7gRa_XGKqpFkBcV3yJ1RhyA7bg () mail ! gmail ! com
[Download RAW message or body]

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 <lukaszlenart@apache.org>:
> And we do accept Pull Requests :-)
> https://github.com/apache/struts
>
> 2014-06-18 10:25 GMT+02:00 Lukasz Lenart <lukaszlenart@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=C5=82 Wielgus <poulwiel@gmail.com>:
>>> Hi =C5=81ukasz,
>>> 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=C5=82 Wielgus.
>>>
>>>
>>>
>>>
>>> 2014-06-18 10:08 GMT+02:00 Lukasz Lenart <lukaszlenart@apache.org>:
>>>> S2 isn't JDK8 compatible, it will be case for S2.5
>>>>
>>>>
>>>> 2014-06-18 10:04 GMT+02:00 Pawe=C5=82 Wielgus <poulwiel@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=C5=82 Wielgus.
>>>>>
>>>>>
>>>>>
>>>>> [1] - for action defined in struts.xml
>>>>>
>>>>> SEVERE: Unable to read class [com.ppp.elsevier.struts.action.JournalC=
overAction]
>>>>> 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(Class=
Finder.java:717)
>>>>> at com.opensymphony.xwork2.util.finder.ClassFinder.<init>(ClassFinder=
.java:112)
>>>>> at org.apache.struts2.convention.PackageBasedActionConfigBuilder.find=
Actions(PackageBasedActionConfigBuilder.java:390)
>>>>> at org.apache.struts2.convention.PackageBasedActionConfigBuilder.buil=
dActionConfigs(PackageBasedActionConfigBuilder.java:347)
>>>>> at org.apache.struts2.convention.ClasspathPackageProvider.loadPackage=
s(ClasspathPackageProvider.java:53)
>>>>> at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadCon=
tainer(DefaultConfiguration.java:268)
>>>>> at com.opensymphony.xwork2.config.ConfigurationManager.getConfigurati=
on(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(Ini=
tOperations.java:74)
>>>>> at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFil=
ter.init(StrutsPrepareAndExecuteFilter.java:57)
>>>>> at org.apache.catalina.core.ApplicationFilterConfig.getFilter(Applica=
tionFilterConfig.java:298)
>>>>> at org.apache.catalina.core.ApplicationFilterConfig.<init>(Applicatio=
nFilterConfig.java:119)
>>>>> at org.apache.catalina.core.StandardContext.filterStart(StandardConte=
xt.java:4076)
>>>>> at org.apache.catalina.core.StandardContext.start(StandardContext.jav=
a:4730)
>>>>> at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:10=
57)
>>>>> at org.apache.catalina.core.StandardHost.start(StandardHost.java:822)
>>>>> at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:10=
57)
>>>>> at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:=
463)
>>>>> at org.apache.catalina.core.StandardService.start(StandardService.jav=
a: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(NativeMethodAccessorIm=
pl.java:62)
>>>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAc=
cessorImpl.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.BuyedBookCategoriesActi=
on]
>>>>> 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(Class=
Finder.java:716)
>>>>> at com.opensymphony.xwork2.util.finder.ClassFinder.<init>(ClassFinder=
.java:112)
>>>>> at org.apache.struts2.convention.PackageBasedActionConfigBuilder.find=
Actions(PackageBasedActionConfigBuilder.java:390)
>>>>> at org.apache.struts2.convention.PackageBasedActionConfigBuilder.buil=
dActionConfigs(PackageBasedActionConfigBuilder.java:347)
>>>>> at org.apache.struts2.convention.ClasspathPackageProvider.loadPackage=
s(ClasspathPackageProvider.java:53)
>>>>> at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadCon=
tainer(DefaultConfiguration.java:268)
>>>>> at com.opensymphony.xwork2.config.ConfigurationManager.getConfigurati=
on(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(Ini=
tOperations.java:74)
>>>>> at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFil=
ter.init(StrutsPrepareAndExecuteFilter.java:57)
>>>>> at org.apache.catalina.core.ApplicationFilterConfig.getFilter(Applica=
tionFilterConfig.java:298)
>>>>> at org.apache.catalina.core.ApplicationFilterConfig.<init>(Applicatio=
nFilterConfig.java:119)
>>>>> at org.apache.catalina.core.StandardContext.filterStart(StandardConte=
xt.java:4076)
>>>>> at org.apache.catalina.core.StandardContext.start(StandardContext.jav=
a:4730)
>>>>> at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:10=
57)
>>>>> at org.apache.catalina.core.StandardHost.start(StandardHost.java:822)
>>>>> at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:10=
57)
>>>>> at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:=
463)
>>>>> at org.apache.catalina.core.StandardService.start(StandardService.jav=
a: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(NativeMethodAccessorIm=
pl.java:62)
>>>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAc=
cessorImpl.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-unsubscribe@struts.apache.org
>>>>> For additional commands, e-mail: user-help@struts.apache.org
>>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
>>>> For additional commands, e-mail: user-help@struts.apache.org
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
>>> For additional commands, e-mail: user-help@struts.apache.org
>>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic