মাভেন ইনস্টলেশন ওএসএক্স ত্রুটি অসমর্থিত মেজর.মিনার সংস্করণ 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

তারপরে আমি .বাশ_প্রফাইলে এই ধরণের প্রতিধ্বনি লিখেছিলাম:

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

এবং আমি এটি .brcrc এ লিখেছি

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
টিএল; ডিআর: জাভা সংস্করণটি পুরানো। Java-1.7 +
অজিত গঙ্গা

উত্তর:


275

সমস্যাটি হ'ল কারণ আপনি ম্যাকটিতে JAVA_HOME সঠিকভাবে সেট করেন নি। এটি করার জন্য, আপনার এটির মতো সেট করা উচিত:

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

আমার ক্ষেত্রে আমার জেডিকে ইনস্টলেশন jdk1.8.0_40, আপনি নিজের টাইপ করে তা নিশ্চিত করুন।

তারপরে আপনি maven কমান্ড ব্যবহার করতে পারেন।

শুভেচ্ছা সহ!


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খালি ... আমি কি করব? পিএসjava -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)
লিটলিটলকিউ

1
আপনার ম্যাক ওএস এক্স সংস্করণের উপর নির্ভর করে আপনার। প্রোফাইলে বা .বাশ_প্রফাইলে ফাইলটিতে এটি যুক্ত করা উচিত।
পাকু

এছাড়াও,। প্রোফাইলে বা .বাশ_প্রফাইলে যুক্ত করা থাকলে, আপনার টার্মিনালটি বন্ধ করতে / একটি নতুন টার্মিনাল শুরু করতে ভুলবেন না যাতে এই ফাইলটির সামগ্রীগুলি আবার চালিত হয়।
জোতাডেপিকাস

16

বরং চেষ্টা করুন:

$JAVA_HOME/bin/java -version

মাভেন $JAVA_HOMEজেআরই লিবের ক্লাসপাথ রেজোলিউশনের জন্য ব্যবহার করে । নির্দিষ্ট জেডিকে ব্যবহার নিশ্চিত করার জন্য, সংকলনের আগে এটিকে স্পষ্ট করে সেট করুন, উদাহরণস্বরূপ:

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

<1.7 এর কোনও সংস্করণ নেই এবং আপনি ম্যাভেন ৩.৩.১ ব্যবহার করছেন? এক্ষেত্রে কারণটি একটি নতুন পূর্বশর্ত: https://issues.apache.org/jira/browse/MNG-5780


আরে, আমি বর্তমানে একই সমস্যা নিয়ে লড়াই করছি .. "" এখানে কোনও সংস্করণ নেই <1.7 "বলতে কী বোঝ? আমি জাভা 1.6 ব্যবহার করছি, এটি কি খুব পুরানো? এবং দ্বিতীয় প্রশ্ন: আমার কাছে "জাভা" ফোল্ডারটি "/ usr" এর নীচে নেই, কেবল সিস্টেম / লাইব্রেরির অধীনে? যে কোনও সাহায্যের প্রশংসা করা হবে
ফ্রেডেরিক উইট ২

6
ম্যাভেন ৩.৩ থেকে শুরু করে ন্যূনতম প্রয়োজনীয় জেডিকে ১. 1. রয়েছে। আপনি JDK 1.6 এর সাথে সংকলন করতে চাইলে আপনি ম্যাভেন 3.2.5 বা তারও কম আটকে গেছেন।
রেনে

1
আমি এটি ইতিমধ্যে কাজ করতে পেরেছি :) আমার কাছে জেডিকে ১. installed ইনস্টল করা আছে, তবে জাভাআহোম জেডকে ১.6 উল্লেখ করছে
ফ্রেডেরিক উইট

7

$HOME/.zshrcআপনি যদি আমার মতো হন তবে একটি গতিশীল সমাধান। লিনাক্স @ ওয়ার্ক; এমবিপি / এ @ হোম

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

এখানে সমস্যাটি জাভা_হোম সেট করা নেই। এটি সেট করা আছে তবে সংস্করণটি পুরানো।
অজিত গঙ্গা


3

আমি এটি ব্রিভ ব্যবহার করে ম্যাভেনের (2.x) পুরানো সংস্করণটি সমাধান করেছি:

brew uninstall maven
brew tap homebrew/versions 
brew install maven2

2

অ্যাকলিপসে, আপনাকে জাভাবাহোম পরিবর্তন করার দরকার নেই, আপনাকে কেবল ম্যাভেনের জন্য রান কনফিগারেশনটি 1.6 এর উপরে কিছুতে পরিবর্তন করতে হবে (আপনার প্রকল্পটি জাভা 6 এ থাকলেও মাভেন হওয়া উচিত নয়)। প্রকল্পটিতে ডান-ক্লিক করুন, ম্যাভেন বিল্ড বা নির্বাচন করুন হিসাবে চালান> কনফিগারেশনগুলি চালান এবং সঠিক জেডিকে সংস্করণ সেট করুন।


0

আপনার। প্রোফাইলে এটি করুন -

JAVA_Home = `/ usr / Libxec / java_home` রফতানি করুন`

(ব্যাকটিকগুলি কমান্ডটি কার্যকর করে নিশ্চিত করে তার মানটি জাভাহোমে রাখে)

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.