Comment maven savoir JAVA_HOME défini comme une variable d'environnement inUbuntu
Quand je tape mvn --version de ubuntu à partir du terminal(ubuntu),j'ai le dessous de sortie.
Warning: JAVA_HOME environment variable is not set.
Apache Maven 3.0.5
Maven home: /usr/share/maven
Java version: 1.7.0_79, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-7-openjdk-amd64/jre
Default locale: en_IN, platform encoding: UTF-8
OS name: "linux", version: "3.13.0-32-generic", arch: "amd64", family: "unix"
Quand je n'ai pas mis toute variable d'environnement JAVA_HOME , comment est-maven obtenir de l'accueil java installé chemin.Est-il en essayant de trouver ce chemin d'accès du répertoire /usr/bin/java commande qui est installé dans mon système et si oui, pourquoi est-il en prenant le chemin jusqu'jre.
P. S : Aussi, je ne pouvais pas trouver un chemin d'accès java dans toute maven config.
Grâce.
OriginalL'auteur crackerplace | 2015-07-03
Vous devez vous connecter pour publier un commentaire.
Comme le montre l'
CLIReportingUtils.java
(le maven classe qui récupère la Java à la Maison), la valeur ajoutée provient de l'appel suivant :La
java.home
est de la JRE à la différence de laJAVA_HOME
qui est pour le JDK.Donc, Maven est de l'affichage de la JRE à la maison.
Les propriétés du système sont pour que Java. Vous n'avez pas défini sur le système d'exploitation. Vous pouvez définir lors de l'exécution d'une commande (-DpropertyName) : stackoverflow.com/a/7054981/644669
ok.Got que.Mais qui processus java est la définition de cette propriété du système et comment est-il en mesure d'obtenir ce chemin ?
grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/... Ensuite, allez à la java native de mise en œuvre (en c). La java.la maison est communiquée par le système d'exploitation de Java lors de l'installation.
OriginalL'auteur Zakaria
Je dirais qu'il y a une différence entre
JAVA_HOME
variable d'environnement et à la sortieJava home: /usr/lib/jvm/java-7-openjdk-amd64/jre
.Le dernier est juste la sortie du répertoire d'installation de voir ici.
Donc maven va exécuter le code Java dans le fond et java sait où sa installé.
@Zakaria posté, Maven se contente de lire le
java.home
de la Propriété, qui est par défaut à l'install-répertoire.System.out.println(System.getProperty("java.home"))
est toujours le répertoire d'installation,System.out.println(System.getenv("JAVA_HOME"))
est la valeur de la variable d'environnementMerci pour cela.Il était confus dans le choix de votre réponse et zakaria.Juste allé avec zakaria est pour le code source du lien.
OriginalL'auteur hinneLinks
Je pense,je le comprends maintenant.Dans le maven script que j'ai.e (usr/share/maven/bin/mvn) ils essaient de trouver le java est installé à l'aide d'une variété d'options.
Donc à un endroit où ils sont en train de faire le ci-dessous
Et maintenant, dans mon système de "java" souligne le ci-dessous
Espère que c'est la façon de se le chemin d'accès java.
System.getProperty( "java.home", "<unknown java home>" )
OriginalL'auteur crackerplace