ম্যাক ওএস এক্স এর জন্য জাভা জেডিকে 7 ইনস্টল করার পরে - এমভিএন-রূপান্তর এখনও জাভা সংস্করণ দেখায় 1.6.0_31


117

ওরাকল ম্যাক ওএস এক্স এর জন্য ২ April এপ্রিল জাভা জেডিকে released প্রকাশ করেছে I

java version "1.7.0_04"
Java(TM) SE Runtime Environment (build 1.7.0_04-b21)
Java HotSpot(TM) 64-Bit Server VM (build 23.0-b21, mixed mode)

তবে আমি mvn -versionটার্মিনাল উইন্ডোতে যখন পাই তখন :

Apache Maven 3.0.2 (r1056850; 2011-01-08 18:58:10-0600)
Java version: 1.6.0_31, vendor: Apple Inc.
Java home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Default locale: en_US, platform encoding: MacRoman
OS name: "mac os x", version: "10.7.3", arch: "x86_64", family: "mac"

আমি জাভা JDK 1.7.0_04 কীভাবে ব্যবহার করতে মাভেনকে পেতে পারি?

সাহায্যের জন্য ধন্যবাদ.

উত্তর:


126

শেষ পর্যন্ত উত্তরটি এখানে পেয়ে গেল:

http://www.adam-bien.com/roller/abien/entry/java_se_development_kit_7

JAVA_HOME=$(/usr/libexec/java_home)পরিবর্তে আপনার একটি ম্যাক ব্যবহার করা উচিত এবং তারপরে "জাভা প্রিফারেন্স.এপ" এর মাধ্যমে বর্তমান জেডিকে সেট করা উচিত ।

A /। প্রোফাইলে জাভা_হোম সেট করুন


4
আমি সম্প্রতি জাভা 6 ইনস্টল করেছি এবং আমি জাভা প্রিফারেন্সগুলি খুঁজে পেতে সক্ষম নই বিসিজেড ম্যাক এখন জাভা সমর্থন করে না। আমাকে এখনই বলতে পারেন কীভাবে আমি জাভাপ্রিফারেন্স ব্যবহার না করে আমার jvm সেট করতে পারি।
amod

2
আপনি নিজের উত্তরটি গ্রহণ করতে পারেন। এটি আমাদের সকলকে দেখায় যে এটি এই সমস্যার সমাধান করেছে। এবং আপনার কাছে আরও 10 পন্ট থাকবে :)
ইবোলিট

5
আমি ~ / .বাশ_প্রফাইলে যুক্ত করেছি: রফতানি করুন জাভা_হোম = $ (/ ইউএসআর / লিবেক্সেক / জাভা_হোম)
স্কাইটিটেন

1
অথবা আপনি জাভা প্রিফারেন্স.অ্যাপ
ম্যাক

এল ক্যাপটিয়ানে জাভা পছন্দ অ্যাপ্লিকেশনটি খুলতে অক্ষম, আমি সিস্টেম পছন্দগুলি -> জাভা থেকে চলে এসেছি।
ওল্ফ 7176

34

সমস্যাটি হ'ল জাভাভিএম.ফ্রেমওয়ার্কের সংস্করণগুলির মধ্যে প্রতীকী লিঙ্ক "কারেন্টজেডিকে" পুরানো জেডিকে নির্দেশ করে, সুতরাং যখন আমি বর্তমান জেডিকে সর্বশেষতম (1.7.0_45) এ সেট করার জন্য নিম্নলিখিত কমান্ডগুলি ব্যবহার করি তখন এটি কাজ করে

cd /System/Library/Frameworks/JavaVM.framework/Versions
sudo rm CurrentJDK
sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents CurrentJDK

তথ্যসূত্র: http://java.dzone.com/articles/installing-jdk-7-mac-os-x


নিশ্চিত হয়ে নিন যে আপনি সঠিক সংস্করণটি নির্দিষ্ট করেছেন jdk1.7.0_45.jdk, আমার ছিলjdk1.7.0_51.jdk
ndequeker

1
আমি ভাবছি কেন ওরাকল বিকাশকারীরা এটি স্বয়ংক্রিয়ভাবে করেন নি? এটা আমার পক্ষে তুচ্ছ নয়। এই উত্তরটি আমার দিনকে বাঁচিয়েছিল।
ইভান ভোরোশিলিন

এটি আমার জন্য কাজ করছে না. আমি এল ক্যাপ্টিয়ান উপর আছি এমভিএন জাভা সংস্করণ পরিবর্তন করতে অস্বীকার করেছে। জাভা_হোম সঠিক
Wolf7176

17

জাভা পছন্দগুলি থেকে পথটি খুঁজতে, চেষ্টা করুন /usr/libexec/java_home -X

আমার জাভা 7 এন্ট্রিটি দেখে মনে হচ্ছে:

<dict>
    <key>JVMArch</key>
    <string>x86_64</string>
    <key>JVMBundleID</key>
    <string>com.oracle.java.7u04.jdk</string>
    <key>JVMEnabled</key>
    <true/>
    <key>JVMHomePath</key>
    <string>/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home</string>
    <key>JVMIsBuiltIn</key>
    <false/>
    <key>JVMName</key>
    <string>Java SE 7</string>
    <key>JVMPlatformVersion</key>
    <string>1.7</string>
    <key>JVMVendor</key>
    <string>Oracle Corporation</string>
    <key>JVMVersion</key>
    <string>1.7.0_04</string>
</dict>

6
গ্রারর, আমি এটি করেছি এবং এটি আমার জেডি কে ১..7 এর জন্য যে পথের তালিকা তৈরি করে তা মোটেই বিদ্যমান নেই :(
ডিন হিলার

9

আপনাকে JAVA_HOMEপরিবেশের পরিবর্তনশীলটি নতুন জেডিকে 1.7 অবস্থানে পরিবর্তন করতে হবে।

সম্ভাব্য অবস্থানগুলির জন্য এই প্রশ্নটি দেখুন যেখানে জ্যাভিএহোম সংজ্ঞা দেওয়া যেতে পারে। একটি টার্মিনালে which javaআপনার জাভা ইনস্টলেশনটির পাথ অনুসন্ধান করতে টাইপ করুন এবং তারপরে JAVA_HOMEসেই পথে নির্দেশ করতে আপডেট করুন (তবে ট্রেলিং বিন ফোল্ডারটি বাদ দিন)।


আপনি কি নিশ্চিত যে আমার একটি ম্যাক ওএস এক্সে এটি দরকার? অতীতে আমার তা করা হয়নি। আমার যদি জাভাএহোম সেট করার দরকার হয় তবে আমি কীভাবে জানি যে জাভা জেডিকে path এর ইনস্টল হিসাবে কোন পথটি ব্যবহার করতে হবে তা আমাকে কোনও ইনস্টলনের পাথের তথ্য দেয়নি এবং ম্যাকের জাভা অগ্রাধিকার ইউটিলিটি অ্যাপ্লিকেশন জেডিকে ১.7
ব্রুস ফিলিপস

আপনি যদি উপরে আপনার প্রশ্নটি দেখে থাকেন তবে দেখতে পাবেন যে জাভাআহোম ইতিমধ্যে সংজ্ঞায়িত হয়ে গেছে এবং বর্তমানে পুরানো 1.6 জেডিকে নির্দেশ করেছে। ওএসএক্সে পরিবেশের পরিবর্তনগুলি কীভাবে পরিবর্তন করা যায় আমি তার সাথে পরিচিত নই, তবে মাভেন এটিই ডিফল্টরূপে ব্যবহার করেন।
নাট

সমস্যাটি হ'ল কোনও অ্যাপল আপডেট সাধারণত জাভা সংস্করণ আপডেট করে এবং জাভাবাহোম মান নির্ধারণ করে। জ্যাভিএহোম মানকে .bashrc এ সেট করা ওএস এক্সে লিনাক্সের মতো কাজ করে না। এছাড়াও আমি ওরাকল দ্বারা ইনস্টল করা জেডিকে 7-র পাথটি কোথায় পাব না।
ব্রুস ফিলিপস 21

এছাড়াও ন্যাট আমার প্রশ্নটি আপনি যে লিঙ্কটিতে পোস্ট করেছেন তার সদৃশ নয়। আমি ওএস এক্সে রয়েছি এবং ম্যাক ওএস এক্সের জন্য ওরাকল ইনস্টল ব্যবহার করে জাভা জেডিকে 7-এ আপডেট করেছি, যা
ব্রুস ফিলিপস

.Bashrc এর পরিবর্তে কোনও ম্যাক .bash_profile ব্যবহার করে না এবং আপনি / সিস্টেম / লাইব্রেরি / জাভা / জাভা ভার্চুয়ালম্যাচাইনস / যেখানে আপনার নতুন 1.7.0 জাভা সংস্করণটি চিহ্নিত করতে হবে
পিটার_বুডো

7

যদি কেউ 64৪-বিট ম্যাকে ম্যাক ওএসএক্স 'ম্যাভারিকস' চালাচ্ছে ম্যাভেনকে ইনস্টল করছে তবে নিজেকে কিছুটা সময় সাশ্রয় করবে এবং কিছু চুল টানবে মাভেনকে ইনস্টল করার চেষ্টা করছে। আমি এটি অনুসরণ করার চেষ্টা করছিলাম (যা ব্যর্থ হয়েছে কারণ জাভা_হোমের অবস্থান মাভারিক্সে পরিবর্তিত হয়েছে:

http://maven.apache.org/download.cgi

আমি এই ওয়েবসাইটটি না পাওয়া পর্যন্ত আমি আমার চুলগুলি টানছিলাম, যা আপনাকে হোমব্রিউ ইনস্টল করার প্রস্তাব দেয় এবং এই পৃষ্ঠার নির্দেশাবলী অনুসরণ করে: http://techspunky.blogspot.in/2013/10/how-to-install-maven-on-mac -osx-109.html

একবার সম্পূর্ণ হলে আতঙ্কিত হবেন না যখন ven মাভেন-রূপান্তর কাজ করে না, পরিবর্তে ma এমভিএন - রূপান্তরটি maven.apache.org/download.cgi হিসাবে সুপারিশ করুন।

এটি কার্যকর হয়েছিল, তবে আমি লক্ষ্য করেছি যে জাভা এসডিকে মাভেন ব্যবহার করছেন জাভা সংস্করণ: 1.6.0_65, যা আমি সিস্টেমে ইনস্টল করা সর্বশেষতম এসডিকে নয়।

আমি একবার জাভাআহোম = সেট করে দিয়েছি/usr/libexec/java_home

এটি সঠিক এসডিকে ব্যবহার করছিল: মেভেন হোম: /usr/local/Cellar/maven/3.1.1/libexec জাভা সংস্করণ: 1.7.0_45, বিক্রেতা: ওরাকল কর্পোরেশন জাভা হোম: / লাইবারি / জাভা / জাভা ভার্চুয়ালম্যাচাইনস / জেডকি 1.7.0_45। jdk / সূচি / হোম / জে ডিফল্ট লোকেল: en_US, প্ল্যাটফর্ম এনকোডিং: ইউটিএফ -8 ওএস নাম: "ম্যাক ওএস এক্স", সংস্করণ: "10.9", খিলান: "x86_64", পরিবার: "ম্যাক"

সফল! তবে অপেক্ষা করুন ... পরের বার আমি টার্মিনালটি খুললাম এবং এমভিএন -v চালিয়েছিলাম এটি জাভা সংস্করণ 1.6 এ ফিরে গেছে। WTH!

এটি আমি যা পড়ি তা থেকে এটি একরকম অনুমিত বাগ: ইকো জাভাহোম = /usr/libexec/java_home -v 1.7| cho sudo tee -a / etc / mavenrc

এবং এখন:

মাভেন হোম: / ওএসআর / স্থানীয় / সেলার / মেম্বার / ৩.১.১.১ / লিবেক্সেক জাভা সংস্করণ: 1.7.0_45, বিক্রেতা: ওরাকল কর্পোরেশন জাভা হোম: / লাইব্রেরি / জাভা / জাভা ভার্চুয়ালম্যাচাইনস / জেডকি 1.7.0_45.jdk/Contents/Home/jre ডিফল্ট লোকেল: en_US, প্ল্যাটফর্ম এনকোডিং: UTF-8 OS নাম: "ম্যাক ওএস এক্স", সংস্করণ: "10.9", খিলান: "x86_64", পরিবার: "ম্যাক"


export JAVA_HOME=`/usr/libexec/java_home`JAVA_HOME ভেরিটি সঠিকভাবে রফতানি করতে আমার পক্ষে ভাল কাজ করেছে।
সিডেসেক

4

মাভেন এখনও জাভা 6 ব্যবহার করার কারণটি হ'ল যে / usr / bin / mvn স্ক্রিপ্টটি এটি চালু করে তা জাভা পছন্দসমূহে বর্ণিত বর্তমান জাভা সংস্করণটি সমাধান করার জন্য সঠিক ওএস / এক্স পদ্ধতি ব্যবহার করে না। বিশদ জন্য এই মাভেন সমস্যা দেখুন:

http://jira.codehaus.org/browse/MNG-4226

এটির ভোট দেওয়ার এটি ঠিক হয়ে যেতে পারে; ইতিমধ্যে, আপনি যদি সেই বিষয়ে মন্তব্য এবং প্যাচে উল্লিখিত / usr / bin / mvn স্ক্রিপ্টটি পরিবর্তন করেন তবে আপনি পছন্দসই ফলাফল পাবেন।


2

ঠিক আছে আমার মেশিনে। হ্যাঁ, ওরাকল ইনস্টলারটি ঠিক তার কাজটি করেনি, এবং এটি আমাকে বিভ্রান্ত করেছিল যে ১.6 এর পরেও চলছে না।

java run time was updated 

java -version
java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b15)
Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)

তবে এসডিকে হোম আসলে একটি সিম লিঙ্ক যা এখনও 1.6 এ নির্দেশ করে

/Library/Java/Home ফাইন্ডারে গেটইনফো নির্দেশ করে /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

টার্মিনালে

./Home -> /System/Library/Frameworks/JavaVM.framework/Home

চিত্রে যান.

আমি এখানে 1.7 পেয়েছি এবং আমি এটি দিয়ে তৈরি করতে এটি ব্যবহার করছি: /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home


0

আমি মনে করি সমস্যাটি জাভা লঞ্চ প্রক্রিয়াটির সাথে আংশিকভাবে রয়েছে। আমি আমার কোডটি জাভা 7 এর অধীনে চালনা করতে সক্ষম হয়েছি, তবে আমি মনে করি গ্রহনটি এখনও জাভা 6 এর অধীনে চলছে। এছাড়াও, আমার কাছে জাভা প্রোগ্রাম রয়েছে যা সর্বশেষ এক বছর আগে সংকলিত হয়েছিল, এবং জারবান্ডলার -২.১.০.জার ব্যবহার করে নির্মিত হয়েছিল (বিকল্পে jvmversion = "1.6+")। আমি যখন অ্যাপ্লিকেশন ফাইলটিতে ডাবল ক্লিক করি তখন এটি জাভা 6 সঞ্চালিত হয়, কিন্তু আমি ডাবল ক্লিক করে .জার ভিতরে থাকা ফাইলটি জাভা 7 চালিয়ে যায় runs

এছাড়াও, আমি জাভাআহোম ব্যবহার করি না, তবে আমি এখনও প্রশ্নটিতে প্রদর্শিত সঠিক জাভা সংস্করণ "1.7.0_04" পেয়েছি। জাভাএহোমকে একটি লাল রঙের হারিং বলে মনে হচ্ছে। ম্যাভেনের এটির প্রয়োজন হতে পারে, তবে গ্রহনটি এটি ব্যবহার করছে বলে মনে হয় না এবং জার ফাইলগুলিও চালু করে না।

এবং জাভা প্রিফারেন্স সরঞ্জামে জাভা 7 সেট করার পরে, এটি .app জাভা ফাইলগুলি প্রবর্তনকে প্রভাবিত করবে বলে মনে হয় না। তবে এটি টার্মিনাল থেকে সুন্দরভাবে 'জাভা-রূপান্তর' তৈরি করে। আমি জাভা option বিকল্প ব্যতীত সমস্ত কিছুই অন্বেষণ করার চেষ্টা করেছি এবং তারপরেই গ্রহনটি মোটেও চলবে না।


0

যদি আপনার জাভাওয়াহোম স্থানীয় ব্যবহারকারীর বাশ এ অবস্থিত থাকে তবে এমভিএন আপনার জাভাওয়াহোম নির্ধারণ করে না কেন সিস্টেমের বর্তমান জাভা সংস্করণটি বেছে নেবে।

সুতরাং প্রথমে ' কোন এমভিএন ' কমান্ডটি চালনা করুন এবং আপনি কোন এক্সিকিউটেবল এমভিএন ব্যবহার করছেন তা পরীক্ষা করুন। তারপরে সেই এমভিএন ফাইলটি সম্পাদনা করুন এবং জাভাআহোম ভেরিয়েবলটি আপনার পছন্দসই জাভা বাড়িতে পরিবর্তন করুন।

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