Je suis nouveau sur maven, et aussi sur MacOS.
J'ai configuré maven dans mon terminal, et lors de l'obtention des paramètres de version (en utilisant mvn -v
), il semble qu'il utilise JDK 1.6, alors que JDK 1.7 est installé. Y a-t-il quelque chose qui ne va pas?
Les commandes que j'entre sont les suivantes:
blues:helloworld Ninja$ java -version
java version "1.7.0_05" Java(TM) SE Runtime Environment (build 1.7.0_05-b06) Java HotSpot(TM) 64-Bit Server VM (build 23.1-b03, mixed mode)`
blues:helloworld Ninja$ mvn -v
Apache Maven 3.1.0 (893ca28a1da9d5f51ac03827af98bb730128f9f2; 2013-06-28 10:15:32+0800) Maven home: /usr/local/Cellar/maven/3.1.0/libexec Java version: 1.6.0_51, vendor: Apple Inc. Java home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home Default locale: zh_CN, platform encoding: EUC_CN OS name: "mac os x", version: "10.8.4", arch: "x86_64", family: "mac"
Réponses:
ajoutez ce qui suit à votre
~/.mavenrc
:Deuxième solution:
echo export "JAVA_HOME=\$(/usr/libexec/java_home)" >> ~/.bash_profile
la source
export JAVA_HOME="$HOME/.jenv/versions/`jenv version-name`"
for~/.mavenrc
file.Entrer dans
et mettez à jour le
CurrentJDK
lien symbolique pour pointer versPar exemple
Maintenant, cela fonctionnera immédiatement.
la source
Vous pouvez aussi faire,
la source
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project {projectname}: Fatal error compiling: invalid target release: 1.7 -> [Help 1]
Vous pouvez également indiquer explicitement à maven pour quelle version java compiler. Vous pouvez essayer d'ajouter le
maven-compiler-plugin
à votre pom.Si vous avez importé un projet maven dans un IDE, il existe probablement un paramètre maven dans votre IDE pour le compilateur par défaut utilisé par votre exécuteur maven.
la source
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project {projectname}: Fatal error compiling: invalid target release: 1.7 -> [Help 1]
Ça m'a aidé. Ajoutez-le simplement dans votre pom.xml.
Par défaut, le plugin du compilateur maven utilise Java 1.5 ou 1.6, vous devez le redéfinir dans votre pom.xml.
la source
Pour les utilisateurs d'Eclipse. Si vous avez une configuration d'exécution qui nettoie le package par exemple.
Dans le panneau Exécuter la configuration, il existe un onglet JRE dans lequel vous pouvez spécifier le moteur d'exécution sur lequel il doit s'exécuter. Notez que cette configuration remplace tout ce qui se trouve dans le pom.xml.
la source
Je suis en retard pour cette question, mais je pense que la meilleure façon de gérer les versions JDK sur MacOS est d'utiliser le script décrit à: http://www.jayway.com/2014/01/15/how-to-switch-jdk -version-sur-mac-os-x-maverick /
la source
Veuillez vérifier la compatibilité. J'ai lutté avec
mvn 3.2.1
etjdk 1.6.0_37
pendant de nombreuses heures. Toutes les variables ont été définies mais ne fonctionnaient pas. Enfin , je mis à jourjdk to 1.8.0_60
etmvn 3.3.3
et cela a fonctionné. Variables d'environnement comme suit:la source
La solution de @MasterGaurav fonctionne parfaitement,
Je mets normalement le commutateur java dans une fonction zsh:
Ensuite, vous pouvez exécuter
java_ls
deux pour obtenir tous les jvm disponibles sur votre machine, exécuterjava_use 1.7
pour utiliser la version 1.7 pour java et maven.la source