[
https://issues.apache.org/jira/browse/WW-5207?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Lukasz Lenart resolved WW-5207.
-------------------------------
Resolution: Fixed
{{Opcodes.ASM9}} is used by default
> Convention Plugin - support for ASM 9
> -------------------------------------
>
> Key: WW-5207
> URL: https://issues.apache.org/jira/browse/WW-5207
> Project: Struts 2
> Issue Type: Bug
> Components: Plugin - Convention
> Affects Versions: 6.0.0
> Reporter: Mirek Hankus
> Priority: Major
> Fix For: 6.0.1
>
> Time Spent: 0.5h
> Remaining Estimate: 0h
>
> According to https://issues.apache.org/jira/browse/WW-5148 support for ASM
> 9.2 was implemented which implied support for JAVA 17. Unfortunately, this
> is not true, because convention plugin fails to start when app is compiled
> with JAVA17
> This issue is very similar to https://issues.apache.org/jira/browse/WW-5005
> which concerned JAVA 11.
> Convention plugin contains code
> {code:java}
> public class InfoBuildingVisitor extends ClassVisitor {
> private Info info;
> private ClassFinder classFinder;
> public InfoBuildingVisitor(ClassFinder classFinder) {
> super(Opcodes.ASM7);
> this.classFinder = classFinder;
> }{code}
> which limits usage only to ASM7
> Right now following exception it thrown if you try to run struts 6.0 app
> compiled with java 17
> {code:java}
> java.lang.UnsupportedOperationException: PermittedSubclasses requires ASM9
> at
> org.objectweb.asm.ClassVisitor.visitPermittedSubclass(ClassVisitor.java:266)
> ~[asm-9.2.jar:9.2]
> at org.objectweb.asm.ClassReader.accept(ClassReader.java:706)
> ~[asm-9.2.jar:9.2]
> at org.objectweb.asm.ClassReader.accept(ClassReader.java:424)
> ~[asm-9.2.jar:9.2]
> at
> org.apache.struts2.convention.DefaultClassFinder.readClassDef(DefaultClassFinder.java:445)
> ~[struts2-convention-plugin-6.0.0.jar:6.0.0]
> at
> org.apache.struts2.convention.DefaultClassFinder.<init>(DefaultClassFinder.java:93)
> ~[struts2-convention-plugin-6.0.0.jar:6.0.0]
> at
> org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildClassFinder(PackageBasedActionConfigBuilder.java:399)
> ~[struts2-convention-plugin-6.0.0.jar:6.0.0]
> at
> org.apache.struts2.convention.PackageBasedActionConfigBuilder.findActions(PackageBasedActionConfigBuilder.java:381)
> ~[struts2-convention-plugin-6.0.0.jar:6.0.0]
> at
> org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildActionConfigs(PackageBasedActionConfigBuilder.java:337)
> ~[struts2-convention-plugin-6.0.0.jar:6.0.0]
> at
> org.apache.struts2.convention.ClasspathPackageProvider.loadPackages(ClasspathPackageProvider.java:52)
> ~[struts2-convention-plugin-6.0.0.jar:6.0.0]
> at
> com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:228)
> ~[struts2-core-6.0.0.jar:6.0.0]
> at
> com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:65)
> ~[struts2-core-6.0.0.jar:6.0.0]
> at
> org.apache.struts2.dispatcher.Dispatcher.getContainer(Dispatcher.java:1035)
> ~[struts2-core-6.0.0.jar:6.0.0]
> at
> org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:516)
> ~[struts2-core-6.0.0.jar:6.0.0]
> at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:549)
> ~[struts2-core-6.0.0.jar:6.0.0]
> at
> org.apache.struts2.dispatcher.InitOperations.initDispatcher(InitOperations.java:44)
> ~[struts2-core-6.0.0.jar:6.0.0]
> at
> org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:60)
> ~[struts2-core-6.0.0.jar:6.0.0]
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)