Saya menginstal maven dengan mengikuti langkah-langkah ini: (tutorial)
JAVA_HOME=/Library/Java/Home
export M2_HOME=/Users/steven/zimmermann/maven
export M2=$M2_HOME/bin
export PATH=$M2:$PATH
echo $JAVA_HOME
echo $M2_HOME
echo $M2
echo $PATH
nano .bash_profile
lalu saya tulis echo di .bash_profile sth seperti ini:
JAVA_HOME=/usr/libexec/java_home
M2_HOME=/path/to/your/apache-maven-3.x.x
M2=/path/to/your/apache-maven-3.x.x/bin
PATH=/path/to/maven/bin:/$….bla-bla-bla…
dan juga saya menulis ini di .bashrc
export M2_HOME=/Users/steven/zimmermann/maven
export M2=$M2_HOME/bin
export PATH=$M2:$PATH
sekarang ketika saya ingin memeriksa versi ( mvn -v
) saya mendapatkan pengecualian berikut: Saya pikir ada beberapa versi yang salah, tetapi saya tidak tahu.
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/maven/cli/MavenCli : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:637)
at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClassFromSelf(ClassRealm.java:401)
at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:42)
at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:254)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239)
at org.codehaus.plexus.classworlds.launcher.Launcher.getMainClass(Launcher.java:144)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:266)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Informasi tambahan:
java -version
java version "1.8.0_40" Java(TM) SE Runtime Environment (build 1.8.0_40-b27) Java HotSpot(TM) 64-Bit Server VM (build 25.40-b25, mixed mode)
javac -version
javac 1.8.0_40
Jawaban:
Masalahnya karena Anda belum menyetel JAVA_HOME di Mac dengan benar. Untuk melakukan itu, Anda harus mengaturnya seperti ini:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home
Dalam kasus saya, instalasi JDK saya adalah jdk1.8.0_40, pastikan Anda mengetik milik Anda.
Kemudian Anda dapat menggunakan perintah maven.
Salam!
sumber
JAVA_HOME
itu diatur dengan benar, tetapi untuk Java 1.6 JDK.export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/"
profil saya./Library/Java/JavaVirtualMachines
kosong ... apa yang harus saya lakukan? psjava -version java version "1.6.0_65" Java(TM) SE Runtime Environment (build 1.6.0_65-b14-466.1-11M4716) Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-466.1, mixed mode)
Silakan coba:
Maven menggunakan
$JAVA_HOME
resolusi classpath JRE libs. Untuk memastikan untuk menggunakan JDK tertentu, setel secara eksplisit sebelum kompilasi, misalnya:Apakah tidak ada versi <1.7 dan Anda menggunakan Maven 3.3.1? Dalam hal ini alasannya adalah prasyarat baru: https://issues.apache.org/jira/browse/MNG-5780
sumber
$HOME/.zshrc
Solusi dinamis , jika Anda seperti saya yaitu. Linux @ kerja; MBP / A @ rumahsumber
Saya menyelesaikannya dengan menggunakan versi lama maven (2.x), menggunakan brew:
sumber
Di Eclipse, Anda tidak perlu mengubah JAVA_HOME, Anda hanya perlu mengubah konfigurasi run untuk Maven ke sesuatu di atas 1.6 (meskipun proyek Anda menggunakan Java 6, Maven seharusnya tidak). Klik kanan proyek, pilih Maven Build atau Run As> Run Configurations dan setel versi JDK yang benar.
sumber
Lakukan ini di profil. Anda -
ekspor JAVA_HOME = `/ usr / libexec / java_home`
(backticks pastikan untuk menjalankan perintah dan menempatkan nilainya di JAVA_HOME)
sumber