[ 
https://issues.apache.org/jira/browse/WW-5207?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Mirek Hankus updated WW-5207:
-----------------------------
    Description: 
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 conention 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}

  was:
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 conention 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.

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}


> 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
>
> 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 conention 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)

Reply via email to