[
https://issues.apache.org/jira/browse/NETBEANS-4595?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17467130#comment-17467130
]
Thomas Schapitz commented on NETBEANS-4595:
-------------------------------------------
Contrary to wide spread perception, JAVA_HOME isn't always the way to indicate
the preferred JDK, it is usually only interpreted in shell scripts wrapping
tool invocations or server start scripts.
Many other cases rely on the OS's *path,* not even looking at the JAVA_HOME.
Many iX-Systems use additional indirection by placing links to the preferred
JVM into /bin and/or /usr/bin.
If you want to tie your exec plugins invocation to the very same java version
that you used to start maven, the simplest way would be to look at using
something like ${env.JAVA_HOME} to refer to the environment, that is active
during your maven execution.
CAVEAT: Note, that the environment variables actually present depend on the
wrapper script used (look into ${M2_HOME}/bin which might vary between Maven
Versions and the OS used. You may also influence this by posting a mavenrc file
into your home directory.
Note, that the folks responsible for Maven *intentionally* decoupled the exec
plugin from Java, as it is intended to execute anything, not just java - there
are even situations, where a JVM different from the one used to execute
Netbeans, Maven, Compilation, or Testexecution might be required to execute
some other arcane java tool.
This means, that Netbeans has no business fixing that. You should fix that in
your pom.xml, toolchain, mavenrc, or environment.
> exec-maven-plugin Java version different from maven-compiler-plugin Java
> version in NetBeans project
> ----------------------------------------------------------------------------------------------------
>
> Key: NETBEANS-4595
> URL: https://issues.apache.org/jira/browse/NETBEANS-4595
> Project: NetBeans
> Issue Type: Bug
> Components: projects - Maven
> Affects Versions: 12.0, 12.4
> Environment: Windows 7, Ubuntu 20.04
> Reporter: Bernard
> Priority: Critical
> Attachments: testcase.zip
>
>
> 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.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists