Uploaded image for project: 'NetBeans'
  1. NetBeans
  2. NETBEANS-4595

exec-maven-plugin Java version different from maven-compiler-plugin Java version in NetBeans project

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Critical
    • Resolution: Unresolved
    • 12.0, 12.4
    • None
    • projects - Maven
    • None
    • Windows 7, Ubuntu 20.04

    Description

      I start up the NetBeans IDE 12.0 with a system environment JAVA_HOME (1.8) lower than what the IDE uses (14).

      In the project properties, I have set the Build|Compile|Java Platform to JDK 14 (Default) as expected.

      The IDE output window of Maven execution seems to show that the project is run with JAVA_HOME for JDK 14, running project files this way.

      But the exec-maven-plugin fails with java.lang.UnsupportedClassVersionError: com/mycompany/Start has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0

      This seems to indicate that the the exec-maven plugin runs under 1.8 in the IDE, ignoring the IDE's own override setting of JAVA_HOME of 14. It appears to use the JDK as set in JAVA_HOME, because if I set JAVA_HOME to 14.0 before IDE startup then it works.

      I am looking for the correct way, the right places, to set the JDK for any project specifically, regardless of the JAVA_HOME setting that is active when the IDE starts.

      My case can be reproduced by running the IDE 12.0 with JDK 14.0 installed, but with JAVA_HOME set to 1.8. before IDE startup. I use the Maven project generated from the command at https://wicket.apache.org/start/quickstart.html - all set to defaults. The file to run is Start.java.

      This is important to me because I must open many different projects with different JDKs so it is not practical to re-start the IDE with different JAVA_HOME settings each time. As it is, it appears that my setting is poorly defined - I must be missing something.

      I know that there are potentially other solutions in maven like the Toolchains plugin. However, with all of that, I would lose IDE support which is letting the project properties dialog drive the JDK in use for everything. Plus I can already see that the IDE aims to do the right thing by overriding JAVA_HOME - for some reason this does not seem to be working and I think that this might be the bug.

      Attachments

        1. screenshot-1.png
          93 kB
          Thomas Schapitz
        2. testcase.zip
          28 kB
          Bernard

        Issue Links

          Activity

            People

              Unassigned Unassigned
              bht Bernard
              Votes:
              1 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated: