struts-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <>
Subject [jira] [Commented] (WW-5005) Struts2 convention plugin lacks Java 11 support
Date Wed, 23 Jan 2019 13:06:00 GMT


ASF GitHub Bot commented on WW-5005:

yasserzamani commented on pull request #315: WW-5005 upgrade to ASM 7
   fixes WW-5005
   According to ASM7's source codes, it seems it uses passed `api` version only to check if
it should throw an unsupported exception or not (i.e. doesn't have any effect on functionality
and somehow is just a validation). So, as we upgrade to asm.version=7.0 for default then I
think it's OK to upgrade `Opcodes.ASM5` to `Opcodes.ASM7` as well. It only breaks when user
manually exclude ASM7 dependency with an older version which is not usually expected.
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:

> Struts2 convention plugin lacks Java 11 support
> -----------------------------------------------
>                 Key: WW-5005
>                 URL:
>             Project: Struts 2
>          Issue Type: New Feature
>          Components: Plugin - Convention
>    Affects Versions: 2.5.20
>            Reporter: Sebastian Götz
>            Assignee: Yasser Zamani
>            Priority: Major
>             Fix For: 2.5.21, 2.6
> 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

View raw message