You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Britta Katzenbach <ka...@liwa.de> on 2018/10/16 07:48:45 UTC

struts 2 with OpenJDK 11

Hi!

We are currently trying to run our Struts2 application with OpenJDK 11. Its working in general, but the DefaultClassFinder of the Struts2 convention plugin throws an IllegalArgumentException: null when initializing the classes in the package specified in „struts.convention.action.packages“ in the struts.xml. Since these are abstract classes or other classes that does not need to be mapped, it seems to be no problem - the application is running as expected. These errors do not occur when running with oracle java SE 8. We tried to use ASM (org.ow2) 6.0, 6.2.1 and 7.0-beta instead of 5.2, but that did not help.

ERROR org.apache.struts2.convention.DefaultClassFinder - Unable to read class [xx.xx.xx.web.action.AbstractAction]
java.lang.IllegalArgumentException: null
	at org.objectweb.asm.ClassReader.<init>(Unknown Source) ~[asm-5.2.jar:5.2]
	at org.objectweb.asm.ClassReader.<init>(Unknown Source) ~[asm-5.2.jar:5.2]
	at org.objectweb.asm.ClassReader.<init>(Unknown Source) ~[asm-5.2.jar:5.2]
	at org.apache.struts2.convention.DefaultClassFinder.readClassDef(DefaultClassFinder.java:461) ~[struts2-convention-plugin-2.5.18.jar:2.5.18]
	at org.apache.struts2.convention.DefaultClassFinder.access$200(DefaultClassFinder.java:52) ~[struts2-convention-plugin-2.5.18.jar:2.5.18]
	at org.apache.struts2.convention.DefaultClassFinder$InfoBuildingVisitor.extractSuperInterfaces(DefaultClassFinder.java:514) ~[struts2-convention-plugin-2.5.18.jar:2.5.18]
	at org.apache.struts2.convention.DefaultClassFinder$InfoBuildingVisitor.visit(DefaultClassFinder.java:501) ~[struts2-convention-plugin-2.5.18.jar:2.5.18]
	at org.objectweb.asm.ClassReader.accept(Unknown Source) ~[asm-5.2.jar:5.2]
	at org.objectweb.asm.ClassReader.accept(Unknown Source) ~[asm-5.2.jar:5.2]
	at org.apache.struts2.convention.DefaultClassFinder.readClassDef(DefaultClassFinder.java:462) ~[struts2-convention-plugin-2.5.18.jar:2.5.18]
	at org.apache.struts2.convention.DefaultClassFinder.access$200(DefaultClassFinder.java:52) ~[struts2-convention-plugin-2.5.18.jar:2.5.18]
	at org.apache.struts2.convention.DefaultClassFinder$InfoBuildingVisitor.extractSuperInterfaces(DefaultClassFinder.java:514) ~[struts2-convention-plugin-2.5.18.jar:2.5.18]
	at org.apache.struts2.convention.DefaultClassFinder$InfoBuildingVisitor.visit(DefaultClassFinder.java:501) ~[struts2-convention-plugin-2.5.18.jar:2.5.18]
	at org.objectweb.asm.ClassReader.accept(Unknown Source) ~[asm-5.2.jar:5.2]
	at org.objectweb.asm.ClassReader.accept(Unknown Source) ~[asm-5.2.jar:5.2]
	at org.apache.struts2.convention.DefaultClassFinder.readClassDef(DefaultClassFinder.java:462) ~[struts2-convention-plugin-2.5.18.jar:2.5.18]
	at org.apache.struts2.convention.DefaultClassFinder.<init>(DefaultClassFinder.java:93) [struts2-convention-plugin-2.5.18.jar:2.5.18]
	at org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildClassFinder(PackageBasedActionConfigBuilder.java:395) [struts2-convention-plugin-2.5.18.jar:2.5.18]
	at org.apache.struts2.convention.PackageBasedActionConfigBuilder.findActions(PackageBasedActionConfigBuilder.java:377) [struts2-convention-plugin-2.5.18.jar:2.5.18]
	at org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildActionConfigs(PackageBasedActionConfigBuilder.java:333) [struts2-convention-plugin-2.5.18.jar:2.5.18]
	at org.apache.struts2.convention.ClasspathPackageProvider.loadPackages(ClasspathPackageProvider.java:52) [struts2-convention-plugin-2.5.18.jar:2.5.18]


Thanks for your input!

Best regards,

Britta Katzenbach

_____________________________________________________
e-Mail: katzenbach@liwa.de
Tel. +49 30 27019889

Dr. Lippke & Dr. Wagner GmbH
Nassauische Str. 25
10717 Berlin
Tel./Fax: +49 30 2147309-0 / 2

Geschäftsführer: Dr. Andreas Lippke und Florian Schlittgen
Registergericht: Amtsgericht Berlin HRB 25607









Re: struts 2 with OpenJDK 11

Posted by Lukasz Lenart <lu...@apache.org>.
wt., 16 paź 2018 o 11:44 Britta Katzenbach <ka...@liwa.de> napisał(a):
> Thank you for the information! As the bug entry is a year old, do you have any perspective when this will be solved?

I hope it will be soon, we are now moving all our effort to work on
Struts 2.6 and release a new version in 2-3 months.


Regards
-- 
Łukasz
+ 48 606 323 122 http://www.lenart.org.pl/

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


Re: struts 2 with OpenJDK 11

Posted by Britta Katzenbach <ka...@liwa.de>.
Thank you for the information! As the bug entry is a year old, do you have any perspective when this will be solved?

Best regards,

Britta

Britta Katzenbach

_____________________________________________________
e-Mail: katzenbach@liwa.de
Tel. +49 30 27019889

Dr. Lippke & Dr. Wagner GmbH
Nassauische Str. 25
10717 Berlin
Tel./Fax: +49 30 2147309-0 / 2

Geschäftsführer: Dr. Andreas Lippke und Florian Schlittgen
Registergericht: Amtsgericht Berlin HRB 25607








> Am 16.10.2018 um 10:36 schrieb Lukasz Lenart <lu...@apache.org>:
> 
> Switching to ASM 6 should resolve the issue but this isn't a drop-in
> upgrade, we will have to change some code on Struts side.
> 
> https://issues.apache.org/jira/browse/WW-4866
> 
> 
> Regards
> -- 
> Łukasz
> + 48 606 323 122 http://www.lenart.org.pl/
> 
> wt., 16 paź 2018 o 09:49 Britta Katzenbach <ka...@liwa.de> napisał(a):
>> 
>> Hi!
>> 
>> We are currently trying to run our Struts2 application with OpenJDK 11. Its working in general, but the DefaultClassFinder of the Struts2 convention plugin throws an IllegalArgumentException: null when initializing the classes in the package specified in „struts.convention.action.packages“ in the struts.xml. Since these are abstract classes or other classes that does not need to be mapped, it seems to be no problem - the application is running as expected. These errors do not occur when running with oracle java SE 8. We tried to use ASM (org.ow2) 6.0, 6.2.1 and 7.0-beta instead of 5.2, but that did not help.
>> 
>> ERROR org.apache.struts2.convention.DefaultClassFinder - Unable to read class [xx.xx.xx.web.action.AbstractAction]
>> java.lang.IllegalArgumentException: null
>> at org.objectweb.asm.ClassReader.<init>(Unknown Source) ~[asm-5.2.jar:5.2]
>> at org.objectweb.asm.ClassReader.<init>(Unknown Source) ~[asm-5.2.jar:5.2]
>> at org.objectweb.asm.ClassReader.<init>(Unknown Source) ~[asm-5.2.jar:5.2]
>> at org.apache.struts2.convention.DefaultClassFinder.readClassDef(DefaultClassFinder.java:461) ~[struts2-convention-plugin-2.5.18.jar:2.5.18]
>> at org.apache.struts2.convention.DefaultClassFinder.access$200(DefaultClassFinder.java:52) ~[struts2-convention-plugin-2.5.18.jar:2.5.18]
>> at org.apache.struts2.convention.DefaultClassFinder$InfoBuildingVisitor.extractSuperInterfaces(DefaultClassFinder.java:514) ~[struts2-convention-plugin-2.5.18.jar:2.5.18]
>> at org.apache.struts2.convention.DefaultClassFinder$InfoBuildingVisitor.visit(DefaultClassFinder.java:501) ~[struts2-convention-plugin-2.5.18.jar:2.5.18]
>> at org.objectweb.asm.ClassReader.accept(Unknown Source) ~[asm-5.2.jar:5.2]
>> at org.objectweb.asm.ClassReader.accept(Unknown Source) ~[asm-5.2.jar:5.2]
>> at org.apache.struts2.convention.DefaultClassFinder.readClassDef(DefaultClassFinder.java:462) ~[struts2-convention-plugin-2.5.18.jar:2.5.18]
>> at org.apache.struts2.convention.DefaultClassFinder.access$200(DefaultClassFinder.java:52) ~[struts2-convention-plugin-2.5.18.jar:2.5.18]
>> at org.apache.struts2.convention.DefaultClassFinder$InfoBuildingVisitor.extractSuperInterfaces(DefaultClassFinder.java:514) ~[struts2-convention-plugin-2.5.18.jar:2.5.18]
>> at org.apache.struts2.convention.DefaultClassFinder$InfoBuildingVisitor.visit(DefaultClassFinder.java:501) ~[struts2-convention-plugin-2.5.18.jar:2.5.18]
>> at org.objectweb.asm.ClassReader.accept(Unknown Source) ~[asm-5.2.jar:5.2]
>> at org.objectweb.asm.ClassReader.accept(Unknown Source) ~[asm-5.2.jar:5.2]
>> at org.apache.struts2.convention.DefaultClassFinder.readClassDef(DefaultClassFinder.java:462) ~[struts2-convention-plugin-2.5.18.jar:2.5.18]
>> at org.apache.struts2.convention.DefaultClassFinder.<init>(DefaultClassFinder.java:93) [struts2-convention-plugin-2.5.18.jar:2.5.18]
>> at org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildClassFinder(PackageBasedActionConfigBuilder.java:395) [struts2-convention-plugin-2.5.18.jar:2.5.18]
>> at org.apache.struts2.convention.PackageBasedActionConfigBuilder.findActions(PackageBasedActionConfigBuilder.java:377) [struts2-convention-plugin-2.5.18.jar:2.5.18]
>> at org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildActionConfigs(PackageBasedActionConfigBuilder.java:333) [struts2-convention-plugin-2.5.18.jar:2.5.18]
>> at org.apache.struts2.convention.ClasspathPackageProvider.loadPackages(ClasspathPackageProvider.java:52) [struts2-convention-plugin-2.5.18.jar:2.5.18]
>> 
>> 
>> Thanks for your input!
>> 
>> Best regards,
>> 
>> Britta Katzenbach
>> 
>> _____________________________________________________
>> e-Mail: katzenbach@liwa.de
>> Tel. +49 30 27019889
>> 
>> Dr. Lippke & Dr. Wagner GmbH
>> Nassauische Str. 25
>> 10717 Berlin
>> Tel./Fax: +49 30 2147309-0 / 2
>> 
>> Geschäftsführer: Dr. Andreas Lippke und Florian Schlittgen
>> Registergericht: Amtsgericht Berlin HRB 25607
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
> 


Re: struts 2 with OpenJDK 11

Posted by Lukasz Lenart <lu...@apache.org>.
Switching to ASM 6 should resolve the issue but this isn't a drop-in
upgrade, we will have to change some code on Struts side.

https://issues.apache.org/jira/browse/WW-4866


Regards
-- 
Łukasz
+ 48 606 323 122 http://www.lenart.org.pl/

wt., 16 paź 2018 o 09:49 Britta Katzenbach <ka...@liwa.de> napisał(a):
>
> Hi!
>
> We are currently trying to run our Struts2 application with OpenJDK 11. Its working in general, but the DefaultClassFinder of the Struts2 convention plugin throws an IllegalArgumentException: null when initializing the classes in the package specified in „struts.convention.action.packages“ in the struts.xml. Since these are abstract classes or other classes that does not need to be mapped, it seems to be no problem - the application is running as expected. These errors do not occur when running with oracle java SE 8. We tried to use ASM (org.ow2) 6.0, 6.2.1 and 7.0-beta instead of 5.2, but that did not help.
>
> ERROR org.apache.struts2.convention.DefaultClassFinder - Unable to read class [xx.xx.xx.web.action.AbstractAction]
> java.lang.IllegalArgumentException: null
> at org.objectweb.asm.ClassReader.<init>(Unknown Source) ~[asm-5.2.jar:5.2]
> at org.objectweb.asm.ClassReader.<init>(Unknown Source) ~[asm-5.2.jar:5.2]
> at org.objectweb.asm.ClassReader.<init>(Unknown Source) ~[asm-5.2.jar:5.2]
> at org.apache.struts2.convention.DefaultClassFinder.readClassDef(DefaultClassFinder.java:461) ~[struts2-convention-plugin-2.5.18.jar:2.5.18]
> at org.apache.struts2.convention.DefaultClassFinder.access$200(DefaultClassFinder.java:52) ~[struts2-convention-plugin-2.5.18.jar:2.5.18]
> at org.apache.struts2.convention.DefaultClassFinder$InfoBuildingVisitor.extractSuperInterfaces(DefaultClassFinder.java:514) ~[struts2-convention-plugin-2.5.18.jar:2.5.18]
> at org.apache.struts2.convention.DefaultClassFinder$InfoBuildingVisitor.visit(DefaultClassFinder.java:501) ~[struts2-convention-plugin-2.5.18.jar:2.5.18]
> at org.objectweb.asm.ClassReader.accept(Unknown Source) ~[asm-5.2.jar:5.2]
> at org.objectweb.asm.ClassReader.accept(Unknown Source) ~[asm-5.2.jar:5.2]
> at org.apache.struts2.convention.DefaultClassFinder.readClassDef(DefaultClassFinder.java:462) ~[struts2-convention-plugin-2.5.18.jar:2.5.18]
> at org.apache.struts2.convention.DefaultClassFinder.access$200(DefaultClassFinder.java:52) ~[struts2-convention-plugin-2.5.18.jar:2.5.18]
> at org.apache.struts2.convention.DefaultClassFinder$InfoBuildingVisitor.extractSuperInterfaces(DefaultClassFinder.java:514) ~[struts2-convention-plugin-2.5.18.jar:2.5.18]
> at org.apache.struts2.convention.DefaultClassFinder$InfoBuildingVisitor.visit(DefaultClassFinder.java:501) ~[struts2-convention-plugin-2.5.18.jar:2.5.18]
> at org.objectweb.asm.ClassReader.accept(Unknown Source) ~[asm-5.2.jar:5.2]
> at org.objectweb.asm.ClassReader.accept(Unknown Source) ~[asm-5.2.jar:5.2]
> at org.apache.struts2.convention.DefaultClassFinder.readClassDef(DefaultClassFinder.java:462) ~[struts2-convention-plugin-2.5.18.jar:2.5.18]
> at org.apache.struts2.convention.DefaultClassFinder.<init>(DefaultClassFinder.java:93) [struts2-convention-plugin-2.5.18.jar:2.5.18]
> at org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildClassFinder(PackageBasedActionConfigBuilder.java:395) [struts2-convention-plugin-2.5.18.jar:2.5.18]
> at org.apache.struts2.convention.PackageBasedActionConfigBuilder.findActions(PackageBasedActionConfigBuilder.java:377) [struts2-convention-plugin-2.5.18.jar:2.5.18]
> at org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildActionConfigs(PackageBasedActionConfigBuilder.java:333) [struts2-convention-plugin-2.5.18.jar:2.5.18]
> at org.apache.struts2.convention.ClasspathPackageProvider.loadPackages(ClasspathPackageProvider.java:52) [struts2-convention-plugin-2.5.18.jar:2.5.18]
>
>
> Thanks for your input!
>
> Best regards,
>
> Britta Katzenbach
>
> _____________________________________________________
> e-Mail: katzenbach@liwa.de
> Tel. +49 30 27019889
>
> Dr. Lippke & Dr. Wagner GmbH
> Nassauische Str. 25
> 10717 Berlin
> Tel./Fax: +49 30 2147309-0 / 2
>
> Geschäftsführer: Dr. Andreas Lippke und Florian Schlittgen
> Registergericht: Amtsgericht Berlin HRB 25607
>
>
>
>
>
>
>
>

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