Uploaded image for project: 'Struts 2'
  1. Struts 2
  2. WW-5005

Struts2 convention plugin lacks Java 11 support

    XMLWordPrintableJSON

    Details

    • Type: New Feature
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.5.20
    • Fix Version/s: 2.5.22, 2.6
    • Component/s: Plugin - Convention
    • Labels:
      None

      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.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                yasserzamani Yasser Zamani
                Reporter:
                s.goetz Sebastian Götz
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: