(এটি এসইউ করা উচিত কিনা নিশ্চিত ছিল না ... মাইগ্রেশন অবশ্যই একটি বিকল্প, তবে আরও প্রোগ্রামাররা এখানে প্রশ্নগুলি পড়েন, তাই এখানে যায়))
আমি ম্যাক ওএস এক্স ১০.৮.৪ চালাচ্ছি, এবং আমি অ্যাপলের জেডিকে ১..0.০_৫১ ইনস্টলারের পাশাপাশি ওরাকল এর জেডিকে ১.7.০.২5 আছে। আমি সম্প্রতি প্রি-রিলিজ সফ্টওয়্যারগুলির জন্য প্রয়োজনীয় এর জন্য ওরাকল এর 1.8 পূর্বরূপ জেডিকে ইনস্টল করেছি। এখন, আমি যখন / ইউএসআর / লিবেক্সেক / জাভা_হোম চালাই, আমি এটি পাই:
$ /usr/libexec/java_home -V
Matching Java Virtual Machines (4):
1.8.0, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home
1.7.0_25, x86_64: "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home
1.6.0_51-b11-457, x86_64: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
1.6.0_51-b11-457, i386: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
গ্রেট।
তবে, চলমান:
$ java -version
রিটার্নস:
java version "1.8.0-ea"
তার মানে হল যে জাভার ডিফল্ট সংস্করণটি বর্তমানে প্রাক-প্রকাশের সংস্করণ, যা কিছু "সাধারণ" প্যাকেজগুলি ভেঙে দেয় (আমার ক্ষেত্রে, ভিজুয়ালভিএম)।
আমি সেট করতে পারছি না JAVA_HOME
কারণ লঞ্চ অ্যাপ্লিকেশনগুলি পরিবেশের ভেরিয়েবলগুলি উপেক্ষা করে, এমনকি কমান্ড লাইন থেকে উদ্বোধন করার সময়ও (যেমন $ open /Applications/VisualVM.app
)।
সুতরাং, আমি কী এমন কোনও ফাইল সম্পাদনা করতে পারি যেখানে আমি আমার জেভিএম অর্ডারিং পছন্দগুলি বিশ্বব্যাপী সেট করতে পারি ?
(দয়া করে আমাকে জাভা অগ্রাধিকার প্যানেলটি চালু করতে বলবেন না কারণ এটি কেবল কার্যকরভাবে কাজ করে না: এতে কোনও কার্যকর কিছু থাকে না এবং কেবলমাত্র আমি যে 4 টি জেভিএম ইনস্টল করেছি সেগুলির মধ্যে একটি তালিকাবদ্ধ করে))
আপডেট :
ওরাকল জেভিএম বাস করে /Library/Java/JavaVirtualMachines
। jdk1.8.0.jvm.xyz
কিছু পরিবর্তন না করে জেডিকে 1.8 ডিরেক্টরিটির পুনরায় নামকরণ করা : java_home
এটি এখনও সঠিক জায়গায় খুঁজে পাওয়া যায় এবং এখনও / usr / বিন / জাভা চালিয়ে 1.8 জেভিএম চালায়। এটি সিন্ডিংস ইত্যাদির কোনও সমস্যা নয় etc.
অনুরূপ প্রশ্নের উত্তর
যদিও এই উত্তর অফার কি একটি হ্যাক যে java_home দ্বারা কুড়ান হওয়া থেকে জাভার সংস্করণ মুছে ফেলা হবে পরিমাণ, এটা এখনও এই প্রশ্নের উত্তর নেই কিভাবে java_home তার ডিফল্ট বেছে নেয় এবং থাকুক বা না থাকুক ব্যবহারকারীদের করতে অ ধ্বংসাত্মক এটি সেট ।
/usr/bin/java
পয়েন্ট /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java
। Versions
ডিরেক্টরি 1.8.0 JDK করার জন্য একটি সিমবলিক লিঙ্ক ধারণ করে না। পরিবর্তে, এতে একটি ডিরেক্টরি রয়েছে A
যা সহায়তার সাথে ডাকা হয় যা Current
নির্দেশ করে। A
এটি "জাভাএহোম" নয় It এর একটি উপ-ডিরেক্টরি রয়েছে Commands
যার একটি java
কমান্ড রয়েছে, তবে এটি একটি অস্বচ্ছ ইউনিভার্সাল বাইনারি যা কে জানে-আমি সন্দেহ করি এটি java_home
কোন জেভিএম ব্যবহার করবে ইত্যাদি সিদ্ধান্ত নেওয়ার জন্য সন্দেহ করে ।
/usr/bin/java
কেবল একটি সিমিলিংক