struts-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sebastian Götz (JIRA) <j...@apache.org>
Subject [jira] [Updated] (WW-5005) Struts2 convention plugin lacks Java 11 support
Date Tue, 22 Jan 2019 09:35:00 GMT

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

Mime
View raw message