Jestem nowy w maven, a także w MacOS.
Mam instalatora w moim terminalu i podczas pobierania ustawień wersji (przy użyciu mvn -v
) wygląda na to, że używa JDK 1.6, podczas gdy mam zainstalowany JDK 1.7. Czy coś jest nie tak?
Polecenia, które wpisuję, to:
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"
Odpowiedzi:
dodaj do swojego
~/.mavenrc
:Drugie rozwiązanie:
echo export "JAVA_HOME=\$(/usr/libexec/java_home)" >> ~/.bash_profile
źródło
export JAVA_HOME="$HOME/.jenv/versions/`jenv version-name`"
for~/.mavenrc
file.Wejść w
i zaktualizuj
CurrentJDK
dowiązanie symboliczne, aby wskazywałoNa przykład
Teraz powinno działać natychmiast.
źródło
Możesz też zrobić,
źródło
[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]
Możesz również wyraźnie powiedzieć mavenowi, dla której wersji Java ma się skompilować. Możesz spróbować dodać
maven-compiler-plugin
do pom.Jeśli zaimportowałeś projekt maven do IDE, prawdopodobnie istnieje ustawienie maven w twoim IDE dla domyślnego kompilatora, którego używa twój maven runner.
źródło
[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]
Pomogło mi. Po prostu dodaj go do swojego pom.xml.
Domyślnie wtyczka kompilatora maven używa Javy 1.5 lub 1.6, musisz ją przedefiniować w swoim pom.xml.
źródło
Dla użytkowników Eclipse. Jeśli masz uruchomioną konfigurację, która na przykład czyści pakiet.
W panelu Run Configuration znajduje się zakładka JRE, na której można określić, w jakim środowisku uruchomieniowym ma działać. Zauważ, że ta konfiguracja zastępuje wszystko, co jest w pom.xml.
źródło
Spóźniłem się na to pytanie, ale myślę, że najlepszym sposobem obsługi wersji JDK na MacOS jest użycie skryptu opisanego na: http://www.jayway.com/2014/01/15/how-to-switch-jdk -wersja-na-mac-os-x-maverick /
źródło
Sprawdź kompatybilność. Walczyłem
mvn 3.2.1
ijdk 1.6.0_37
przez wiele godzin. Wszystkie zmienne zostały ustawione, ale nie działały. I wreszcie zmodernizowanejdk to 1.8.0_60
imvn 3.3.3
, i że pracował. Zmienne środowiskowe w następujący sposób:źródło
Rozwiązanie @MasterGaurav działa doskonale,
Zwykle umieszczam przełącznik java w funkcji zsh:
Następnie możesz uruchomić
java_ls
dwa, aby uzyskać wszystkie dostępne jvm na swoim komputerze, uruchomić,java_use 1.7
aby użyć wersji 1.7 zarówno dla java, jak i maven.źródło