web-dev-qa-db-fra.com

Définition du chemin Java dans maven

Quand je fais mvn --v, je reçois:

Apache Maven 3.0.5
Maven home: /usr/share/maven
Java version: 1.6.0_45, vendor: Sun Microsystems Inc.
Java home: /usr/lib/jvm/Java-6-Oracle/jre
Default locale: en_IN, platform encoding: UTF-8
OS name: "linux", version: "3.16.0-30-generic", Arch: "AMD64", family: "unix"

Quand je fais Java -version, je reçois:

Java version "1.7.0_76"
Java(TM) SE Runtime Environment (build 1.7.0_76-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.76-b04, mixed mode)

Maintenant, je veux que Maven utilise Java 7, comment puis-je en faire autant?

4
coder005

Tout d’abord, j’ai ouvert le centre logiciel Ubuntu et cherché jdk qui supprimait l’installateur et jdk 6 par défaut. Puis je lance la commande:

Sudo update-alternatives --config Java
Sudo update-alternatives --config javac

Et sélectionné l'Openjdk-7 à partir de là. Mais quand je cours:

mvn --v

il a dit que Java_HOME n'est pas défini. Puis fait les étapes suivantes:

Sudo gedit /etc/bash.bashrc

Ajout des lignes suivantes à la fin du fichier:

export Java_HOME=/usr/lib/jvm/Java-7-Oracle
export PATH=$PATH:$Java_HOME/bin

Puis fermez le gedit. Et lancez la commande:

source /etc/bash.bashrc
echo $Java_HOME

Le chemin était défini. Et maintenant :

mvn -v
Apache Maven 3.0.5
Maven home: /usr/share/maven
Java version: 1.7.0_76, vendor: Oracle Corporation
Java home: /usr/lib/jvm/Java-7-Oracle/jre
Default locale: en_IN, platform encoding: UTF-8
OS name: "linux", version: "3.16.0-30-generic", Arch: "AMD64", family: "unix"
5
coder005

Pour définir la variable Java_HOME uniquement pour maven, vous pouvez remplacer vos valeurs par défaut en la définissant dans votre fichier $HOME/.mavenrc.

Le $HOME/.mavenrc provient du script mvn. Ceci est utile si vous voulez changer de JVM pour différents projets.

Voici le contenu de mon fichier $HOME/.mavenrc:

#export Java_HOME=/usr/lib/jvm/Java-1.7.0-openjdk-AMD64
#export Java_HOME=/usr/lib/jvm/Java-7-Oracle
export Java_HOME=/usr/lib/jvm/Java-8-Oracle

De cette façon, je peux commenter le JVM que je veux utiliser avant de lancer Maven.

1
stalet

Voici la documentation sur variables d'environnement Ubunt .

Ce que nous voulons faire ici est de conserver notre chemin Java_HOME.

Le plus souvent, nos Java installations vont dans / usr/lib/jvm. Pour lister les installations présentes,

ls /usr/lib/jvm

J'ai / usr/lib/jvm/Java-8-openjdk-AMD64 parmi eux et c'est l'installation que je souhaite utiliser pour maven.

Nous pouvons ajouter notre entrée pour Java_HOME entrée pour ~/.pam_environment et faites-le DEFAULT ou OVERRIDE - c'est votre appel.

Utilisez l'éditeur de texte de votre choix pour ouvrir le fichier (j'utilise un éditeur de texte qui traîne dans mon système - son nom est xé. Vous pouvez utiliser gedit ou vim ou n'importe quoi d'autre).

xed ~/.pam_environment

Vous trouverez des choses comme:

enter image description here

Ajoutons maintenant une nouvelle entrée pour notre variable d’environnement Java_HOME. Dans une nouvelle ligne, entrez:

Java_HOME   DEFAULT=<your path to your Java home location>

ou

Java_HOME   DEFAULT=${Java_HOME}    OVERRIDE=<path to your Java home location>

Comme mon Java domicile est '/ usr/lib/jvm/Java-8-openjdk-AMD64', je saisis Java_HOME DEFAULT=${Java_HOME} OVERRIDE=/usr/lib/jvm/Java-8-openjdk-AMD64

Maintenant, déconnectez-vous de votre système et reconnectez-vous pour que les modifications prennent effet.

Vérifions maintenant la version maven.

mvn -version

et ça devrait marcher: enter image description here

0
Ajmal V Aliyar