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

Sebastian Götz updated WW-5005:
-------------------------------
    Description: 
As discussed in the mailing list, the convention plugin is uncapable of 
analysing web applications that have classes compiled with class versions 
higher than 52. This blocks users that compile their web app projects with Java 
9, 10 or 11.

Excerpt from the mailing list discussion:

I have taken a look at the struts-2-5-x branch in github. There is a global 
property in the {{struts-parent}} of that defines the version for ASM:

{{<asm.version>5.2</asm.version>}}

The {{struts-master}} pom of the current github *master branch* has:

{{<asm.version>7.0</asm.version>}}

But when I look into {{DefaultClassFinder$InfoBuildingVisitor}} class (line 
461) of the *master branch* there is still ASM 5 used:

{{public class InfoBuildingVisitor extends ClassVisitor {}}
 {{        private Info info;}}
 {{        private ClassFinder classFinder;}}

{{        public InfoBuildingVisitor(ClassFinder classFinder) {}}
             *{{super(Opcodes.ASM5);}}*
 {{            this.classFinder = classFinder;}}
 \{{        }}}

So first step would be to change this coupling to ASM's version 7 API and check 
how this affects classes compiled with Java 8 or below.

  was:
As discussed in the mailing list, the convention plugin is uncapable of 
analysing web applications that have classes compiled with class versions 
higher than 52. This blocks users that compile the web app projects with Java 
9, 10 or 11.

Excerpt from the mailing list discussion:

I have taken a look at the struts-2-5-x branch in github. There is a global 
property in the {{struts-parent}} of that defines the version for ASM:
 
 {{<asm.version>5.2</asm.version>}}
 
 The {{struts-master}} pom of the current github *master branch* has:
 
 {{<asm.version>7.0</asm.version>}}
 
 But when I look into {{DefaultClassFinder$InfoBuildingVisitor}} class (line 
461) of the *master branch* there is still ASM 5 used:
 
 {{public class InfoBuildingVisitor extends ClassVisitor {}}
{{        private Info info;}}
{{        private ClassFinder classFinder;}}

{{        public InfoBuildingVisitor(ClassFinder classFinder) {}}
            *{{super(Opcodes.ASM5);}}*
{{            this.classFinder = classFinder;}}
{{        }}}
 
 So first step would be to change this coupling to ASM's version 7 API and 
check how this affects classes compiled with Java 8 or below.


> Struts2 convention plugin lacks Java 11 support
> -----------------------------------------------
>
>                 Key: WW-5005
>                 URL: https://issues.apache.org/jira/browse/WW-5005
>             Project: Struts 2
>          Issue Type: New Feature
>          Components: Plugin - Convention
>    Affects Versions: 2.5.20, 2.6
>            Reporter: Sebastian Götz
>            Priority: Major
>
> As discussed in the mailing list, the convention plugin is uncapable of 
> analysing web applications that have classes compiled with class versions 
> higher than 52. This blocks users that compile their web app projects with 
> Java 9, 10 or 11.
> Excerpt from the mailing list discussion:
> I have taken a look at the struts-2-5-x branch in github. There is a global 
> property in the {{struts-parent}} of that defines the version for ASM:
> {{<asm.version>5.2</asm.version>}}
> The {{struts-master}} pom of the current github *master branch* has:
> {{<asm.version>7.0</asm.version>}}
> But when I look into {{DefaultClassFinder$InfoBuildingVisitor}} class (line 
> 461) of the *master branch* there is still ASM 5 used:
> {{public class InfoBuildingVisitor extends ClassVisitor {}}
>  {{        private Info info;}}
>  {{        private ClassFinder classFinder;}}
> {{        public InfoBuildingVisitor(ClassFinder classFinder) {}}
>              *{{super(Opcodes.ASM5);}}*
>  {{            this.classFinder = classFinder;}}
>  \{{        }}}
> So first step would be to change this coupling to ASM's version 7 API and 
> check how this affects classes compiled with Java 8 or below.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to