You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2017/05/12 20:23:04 UTC
[jira] [Commented] (MNG-5756) Java home output in mvn -v is
misleading
[ https://issues.apache.org/jira/browse/MNG-5756?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16008656#comment-16008656 ]
ASF GitHub Bot commented on MNG-5756:
-------------------------------------
GitHub user marcelosv opened a pull request:
https://github.com/apache/maven/pull/115
Change out JAVA_HOME. Add JRE used. JRE used print /jre and JAVA_HOMEā¦
I read the discursion of issue MNG-5756 and I change code out for JAVA_HOME and JRE.
Now, print two information to JAVA.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/marcelosv/maven MNG-5756-Java-home-output
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/maven/pull/115.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #115
----
commit 8c10f3addc2eb35ba61792cd97c98290334c040c
Author: Marcelo <ma...@ceossistemas.com.br>
Date: 2017-05-12T20:16:35Z
Change out JAVA_HOME. Add JRE used. JRE used print /jre and JAVA_HOME print equal var configured
----
> Java home output in mvn -v is misleading
> ----------------------------------------
>
> Key: MNG-5756
> URL: https://issues.apache.org/jira/browse/MNG-5756
> Project: Maven
> Issue Type: Improvement
> Components: Command Line
> Affects Versions: 3.2.5, 3.3.3
> Environment: any
> Reporter: Jarkko Rantavuori
> Priority: Minor
>
> For example on my windows box, mvn -v prints the following:
> {code}
> Java home: C:\Program Files (x86)\Java\jdk1.7.0_51\jre
> {code}
> But my JAVA_HOME is actually
> {code}
> > echo %JAVA_HOME%
> C:\Program Files (x86)\Java\jdk1.7.0_51
> {code}
> In the source code, the line comes from:
> https://git-wip-us.apache.org/repos/asf?p=maven.git;a=blob;f=maven-embedder/src/main/java/org/apache/maven/cli/CLIReportingUtils.java#l63
> {code}
> version.append( "Java home: " ).append( System.getProperty( "java.home", "<unknown java home>" ) ).append( ls );
> {code}
> which is using property "java.home" to fetch java home. However, "java.home" property is not JAVA_HOME! This is explained in detail in here: http://javahowto.blogspot.fi/2006/05/javahome-vs-javahome.html
> To quote:
> {quote}
> What's the difference between JAVA_HOME and java.home?
> JAVA_HOME is the JDK install directory, e.g., C:\jdk5. It's meant to be set as an environment variable and referenced in Windows batch files or Unix scripts. I always have it in my Windows Control Panel and .tcsh files,along with other common environment variables. Some Java applications use the name jdk.home for this purpose, which I think is a better name. But JAVA_HOME has been used since the beginning and is now a convention.
> java.home is the JRE install directory, e.g., C:\jdk5\jre, or C:\Program Files\Java\jre1.5.0_06. Unlike JAVA_HOME, I never seen java.home as an environment variable. java.home is a build-in Java system property, whose value is the JRE install directory. Since all Java system properties are also exposed as Ant build properties, you can also use ${java.home} in build files.
> Would jre.home be a better name? Maybe, but I don't think Sun will change it.
> {quote}
> This is a source of constant confusion. Some stackoverflow threads to illustrate:
> http://stackoverflow.com/questions/15279586/java-home-in-maven
> http://stackoverflow.com/questions/17620531/maven-pointing-to-jre-instead-of-jdk
> The correct way to print JAVA_HOME would be to use System.getenv("JAVA_HOME"). Either that should be used or current output should be changed so it wouldn't be so misleading.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)