[ https://issues.apache.org/jira/browse/WW-5207?focusedWorklogId=798978&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-798978 ]
ASF GitHub Bot logged work on WW-5207: -------------------------------------- Author: ASF GitHub Bot Created on: 08/Aug/22 15:01 Start Date: 08/Aug/22 15:01 Worklog Time Spent: 10m Work Description: lukaszlenart opened a new pull request, #586: URL: https://github.com/apache/struts/pull/586 Fixes [WW-5207](https://issues.apache.org/jira/browse/WW-5207) Issue Time Tracking ------------------- Worklog Id: (was: 798978) Remaining Estimate: 0h Time Spent: 10m > 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: 10m > 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)