मावेन इंस्टॉलेशन OSX त्रुटि असमर्थित प्रमुख। लघु संस्करण 51.0


114

मैंने इस चरणों का पालन करके मावेन स्थापित किया: (एक ट्यूटोरियल)

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

तब मैंने इस तरह .bash_profile sth में गूंज लिखा:

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

और मैंने इसे .bashrc में भी लिखा था

export M2_HOME=/Users/steven/zimmermann/maven
export M2=$M2_HOME/bin
export PATH=$M2:$PATH

अब जब मैं संस्करण की जांच करना चाहता हूं ( mvn -v) मुझे निम्नलिखित अपवाद मिले: मुझे लगता है कि कुछ संस्करण गलत हैं, लेकिन मुझे नहीं पता।

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)

अतिरिक्त जानकारी:

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

2
TL; DR: जावा संस्करण पुराना है। जावा
-1.7

जवाबों:


275

समस्या यह है कि आपने JAVA_HOME मैक में ठीक से सेट नहीं किया है। ऐसा करने के लिए, आपको इसे इस तरह सेट करना चाहिए:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home

मेरे मामले में मेरी JDK स्थापना jdk1.8.0_40 है, सुनिश्चित करें कि आप अपना टाइप करते हैं।

तब आप मावेन कमांड का उपयोग कर सकते हैं।

सादर!


15
मैं यह भी ध्यान देता हूं कि Maven3 के वर्तमान संस्करण को Java7 की आवश्यकता है, कम से कम मुझे यह त्रुटि संदेश मिला जब JAVA_HOME इसे सही ढंग से सेट किया गया था , लेकिन एक जावा 1.6 JDK के लिए।
स्टीव पॉवेल

मुझे export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/"अपने प्रॉफिटेबल की जरूरत थी ।
aliteralmind

मेरे मामले में, डायर /Library/Java/JavaVirtualMachinesखाली है ... मुझे क्या करना चाहिए? 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)
LittleLittleQ

1
मैक ओएस एक्स संस्करण के आधार पर आपको इसे अपने .profile या .bash_profile फ़ाइल में जोड़ना चाहिए।
पाकु सिप

भी, अगर .profile या .bash_profile में जोड़ा जाता है, तो अपने टर्मिनल को बंद करने के लिए याद रखें / एक नया टर्मिनल शुरू करें ताकि इस फ़ाइल की सामग्री फिर से चलें।
जोताडेपिकास

16

कृपया प्रयास करें:

$JAVA_HOME/bin/java -version

जेवी $JAVA_HOMEलिबास के क्लासपैथ रिज़ॉल्यूशन के लिए मावेन का उपयोग होता है । एक निश्चित JDK का उपयोग करना सुनिश्चित करने के लिए, इसे संकलन से पहले स्पष्ट रूप से सेट करें, उदाहरण के लिए:

export JAVA_HOME=/usr/java/jdk1.7.0_51

क्या कोई संस्करण नहीं है <1.7 और आप मावेन 3.3.1 का उपयोग कर रहे हैं? इस मामले में कारण एक नई शर्त है: https://issues.apache.org/jira/browse/MN-An80


अरे, मैं वर्तमान में एक ही समस्या से जूझ रहा हूँ .. आपका क्या मतलब है "वहाँ एक संस्करण नहीं है <1.7"? मैं जावा 1.6 का उपयोग कर रहा हूं, क्या यह बहुत पुराना है? और दूसरा सवाल: मेरे पास "/ usr" के तहत "जावा" फ़ोल्डर नहीं है, केवल सिस्टम / लाइब्रेरी के तहत? किसी भी मदद की बहुत सराहना की जाएगी
फ्रेडरिक विट्टे

6
Maven 3.3 से शुरू होने पर न्यूनतम आवश्यकता JDK 1.7 है। यदि आप JDK 1.6 के साथ संकलन करना चाहते हैं, तो आप मावेन 3.2.5 या उससे कम पर अटक गए हैं।
रेने

1
मुझे यह पहले से ही काम करने के लिए मिला :) मैंने JDK 1.7 स्थापित किया था, लेकिन JAVA_HOME jdk 1.6
फ्रेडरिक विट्टे

7

एक गतिशील $HOME/.zshrcसमाधान, यदि आप मेरे जैसे हैं। लिनक्स @ काम; MBP / A @ घर

if [[ $(uname) == "Darwin" ]]; then export OSX=1; fi
if [[ $(uname) ==  "Linux" ]]; then export LINUX=1; fi

if [[ -n $OSX ]]; then
        export JAVA_HOME=$(/usr/libexec/java_home)
else
        export JAVA_HOME=/usr/lib/jvm/default-java
fi

यहाँ मुद्दा java_home सेट नहीं है। यह सेट है, लेकिन संस्करण पुराना है।
अजीत गंगा


3

मैंने इसे मावेन (2.x) का एक पुराना संस्करण डालते हुए हल किया, काढ़ा:

brew uninstall maven
brew tap homebrew/versions 
brew install maven2

2

ग्रहण में, आपको JAVA_HOME को बदलने की आवश्यकता नहीं है, आपको बस 1.6 से ऊपर की चीज के लिए मावेन के लिए रन कॉन्फ़िगरेशन को बदलने की आवश्यकता है (भले ही आपका प्रोजेक्ट जावा 6 पर हो, मावेन नहीं होना चाहिए)। प्रोजेक्ट को राइट-क्लिक करें, Maven Build या Run As> रन कॉन्फ़िगरेशन चुनें और सही JDK संस्करण सेट करें।


0

इसे अपने .profile में करें -

निर्यात JAVA_HOME = `/ usr / libexec / java_home`

(backticks कमांड को निष्पादित करना सुनिश्चित करें और JAVA_HOME में इसका मान रखें)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.