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