Ich bin neu in Maven und auch in MacOS.
Ich habe Setup Maven in meinem Terminal, und wenn ich die Versionseinstellungen (mit mvn -v
) erhalte, scheint es, dass JDK 1.6 verwendet wird, während ich JDK 1.7 installiert habe. Ist irgendwas falsch?
Die Befehle, die ich eingebe, sind folgende:
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"
Antworten:
Fügen Sie Folgendes hinzu
~/.mavenrc
:Zweite Lösung:
echo export "JAVA_HOME=\$(/usr/libexec/java_home)" >> ~/.bash_profile
quelle
export JAVA_HOME="$HOME/.jenv/versions/`jenv version-name`"
für~/.mavenrc
Datei.Geraten in
und aktualisieren Sie den
CurrentJDK
symbolischen Link, auf den verwiesen wirdZ.B
Jetzt soll es sofort funktionieren.
quelle
Sie können auch tun,
quelle
[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]
Sie können maven auch explizit mitteilen, für welche Java-Version kompiliert werden soll. Sie können versuchen, das
maven-compiler-plugin
zu Ihrem Pom hinzuzufügen .Wenn Sie ein Maven-Projekt in eine IDE importiert haben, enthält Ihre IDE wahrscheinlich eine Maven-Einstellung für den Standard-Compiler, den Ihr Maven-Runner verwendet.
quelle
[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]
Es hat mir geholfen. Fügen Sie es einfach in Ihre pom.xml ein.
Standardmäßig verwendet das Maven Compiler Plugin Java 1.5 oder 1.6. Sie müssen es in Ihrer pom.xml neu definieren.
quelle
Für Eclipse-Benutzer. Wenn Sie eine Ausführungskonfiguration haben, die beispielsweise ein sauberes Paket ausführt.
Im Bereich "Konfiguration ausführen" befindet sich eine Registerkarte "JRE", auf der Sie angeben können, für welche Laufzeit sie ausgeführt werden soll. Beachten Sie, dass diese Konfiguration alles überschreibt, was in der Datei pom.xml enthalten ist.
quelle
Ich komme zu spät zu dieser Frage, aber ich denke, der beste Weg, um mit JDK-Versionen unter MacOS umzugehen, ist die Verwendung des Skripts, das unter folgender Adresse beschrieben wird: http://www.jayway.com/2014/01/15/how-to-switch-jdk -version-on-mac-os-x-maverick /
quelle
Bitte überprüfen Sie die Kompatibilität. Ich kämpfte mit
mvn 3.2.1
undjdk 1.6.0_37
für viele Stunden. Alle Variablen wurden gesetzt, funktionierten aber nicht. Schließlich Ich habe ein Upgradejdk to 1.8.0_60
undmvn 3.3.3
und das funktioniert. Umgebungsvariablen wie folgt:quelle
Die Lösung von @MasterGaurav funktioniert einwandfrei.
Normalerweise setze ich das Java-Switch-Ding in eine zsh-Funktion:
Dann können Sie
java_ls
zwei ausführen, um alle verfügbaren JVM auf Ihrem Computerjava_use 1.7
abzurufen und die Version 1.7 sowohl für Java als auch für Maven zu verwenden.quelle