জাভা ম্যাকোজের সর্বশেষতম সংস্করণগুলির একটি alচ্ছিক প্যাকেজ।
তবুও একবার ইনস্টল হওয়ার পরে এটি JAVA_HOME এনভায়রনমেন্ট ভেরিয়েবলটি সঠিকভাবে সেট করা না হওয়ার মতো উপস্থিত হয় ।
জাভা ম্যাকোজের সর্বশেষতম সংস্করণগুলির একটি alচ্ছিক প্যাকেজ।
তবুও একবার ইনস্টল হওয়ার পরে এটি JAVA_HOME এনভায়রনমেন্ট ভেরিয়েবলটি সঠিকভাবে সেট করা না হওয়ার মতো উপস্থিত হয় ।
উত্তর:
সঙ্গে জাভা ঐচ্ছিক প্যাকেজ বা ওরাকল JDK ইনস্টল করুন, আপনার নিম্নলিখিত লাইনের এক যোগ ~ / .bash_profile ফাইল এনভায়রনমেন্ট ভেরিয়েবল সেই অনুযায়ী সেট হবে।
export JAVA_HOME="$(/usr/libexec/java_home -v 1.6)"
or
export JAVA_HOME="$(/usr/libexec/java_home -v 1.7)"
or
export JAVA_HOME="$(/usr/libexec/java_home -v 1.8)"
আপডেট: জিলিস ভ্যান গুরপ প্রতিক্রিয়ার উপর ভিত্তি করে -v ফ্ল্যাগ যুক্ত হয়েছে ।
/usr/libexec/java_home
ডিরেক্টরি নয়, তবে এক্সিকিউটেবল। এটি বর্তমানে কনফিগার করা জাভা_হোমকে আউটপুট করে এবং আসলে এটি পরিবর্তন করে না। এটি জাভা অগ্রাধিকার অ্যাপ্লিকেশনটির জন্য, যা আমার ক্ষেত্রে ভাঙা মনে হচ্ছে এবং আসলে জেভিএমকে সঠিকভাবে পরিবর্তন করে না। এটি ১.7 জেভিএম তালিকাভুক্ত করে তবে আমি টগল / আনগল করতে এবং টানতে এবং সেখানে যা করতে চাই তা আসলে আউটপুট পরিবর্তন না করেই ফেলে দিতে পারি /usr/libexec/java_home
।
এমনকি সিংহটিতে ওরাকল থেকে 1.7.0 u6 ইনস্টল করার পরেও এটি পছন্দগুলিতে ডিফল্ট হিসাবে সেট করার পরেও এটি আপেল ১.6 জাভা ঘরে ফিরে এসেছে। প্রকৃতপক্ষে আমার জন্য কাজ করা একমাত্র ফিক্সটি হ'ল জাভাবাহোম ম্যানুয়ালি সেট করছে:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_06.jdk/Contents/Home/
কমান্ড লাইন থেকে চালানোর সময় এটি কমপক্ষে 1.7 ব্যবহার করবে। /usr/libexec/java_home
এখনও 1.6 উপর জোর দেয়।
হালনাগাদ : ওএসএক্স-এ কমান্ড লাইন থেকে জাভা বোঝার কীভাবে এটি কাজ করে সে সম্পর্কে আরও ভাল ব্যাখ্যা রয়েছে।
export JAVA_HOME=`/usr/libexec/java_home -v 1.7`
এটা করার উপায়। দ্রষ্টব্য, এটি 1.8 এ আপডেট করা ঠিক কাজ করে।
আমার জন্য, মাউন্টেন সিংহ 10.8.2, সর্বাধিক ভোট দেওয়া সমাধানটি কার্যকর করে না। আমি ওরডল এবং হোমব্রু থেকে মেভেনের মাধ্যমে জেডিকে 1.7 ইনস্টল করেছি।
আমার সমাধান হ্যাডোপ-এএনভ.শ ফাইল থেকে হ্যাডুপ যা আমি হোমব্রু থেকে ইনস্টল করেছি। আমি নীচের বাক্যটি ~ / .bash_ প্রোফাইলে যুক্ত করি এবং এটি কার্যকর হয়।
export JAVA_HOME="$(/usr/libexec/java_home)"
এই দ্রবণটি ওরাকল থেকে ইনস্টল করা জাভা 1.8 সহ ওএস এক্স ইওসোমাইটের জন্যও কাজ করে।
export JAVA_HOME="$(/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java_home)"
উপরের উত্তরগুলির কোনওটিই আমাকে সাহায্য করেনি। আমি মনে করি সমস্ত উত্তর পুরানো জন্যOS X
OS X Yosemite 10.10 এর জন্য, এই পদক্ষেপগুলি অনুসরণ করুন
খোলার জন্য আপনার প্রিয় পাঠ্য সম্পাদকটি ব্যবহার করুন: ~/.bash_profile
//This command will open the file using vim
$ vim ~/.bash_profile
ফাইলটিতে নিম্নলিখিত লাইনটি যুক্ত করুন এবং এটি সংরক্ষণ করুন (: ভিমের জন্য "এক্স" এর পরে):
export JAVA_HOME=$(/usr/libexec/java_home)
তারপরে টার্মিনালে আউটপুট দেখতে নিম্নলিখিত দুটি কমান্ড টাইপ করুন:
$ source ~/.bash_profile
$ echo $JAVA_HOME
দ্বিতীয় লাইনে আপনি .bash_profile
ফাইলের বিষয়বস্তু আপডেট করছেন ।
জাভা 9 এবং কিছু ঝরঝরে এলিয়াসের জন্য আপডেট।
ইন .bash_profile
:
export JAVA_HOME8=`/usr/libexec/java_home --version 1.8`
export JAVA_HOME9=`/usr/libexec/java_home --version 9`
দ্রষ্টব্য, এটি সর্বশেষতম সংস্করণের জন্য 9
এবং এটি নয়1.9
।
সক্রিয় জাভা সেট করুন:
export JAVA_HOME=$JAVA_HOME8
export PATH=$JAVA_HOME/bin:$PATH
বিভিন্ন সংস্করণের মধ্যে স্যুইচ করার জন্য কিছু অতিরিক্ত উপন্যাস:
alias j8='export JAVA_HOME=$JAVA_HOME8; export PATH=$JAVA_HOME/bin:$PATH'
alias j9='export JAVA_HOME=$JAVA_HOME9; export PATH=$JAVA_HOME/bin:$PATH'
টার্মিনালে পরীক্ষা:
% j8
% java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
% j9
% java -version
java version "9"
Java(TM) SE Runtime Environment (build 9+181)
Java HotSpot(TM) 64-Bit Server VM (build 9+181, mixed mode)
সম্পাদনা: জাভা 10 এর জন্য আপডেট
export JAVA_HOME10=`/usr/libexec/java_home --version 10`
alias j10='export JAVA_HOME=$JAVA_HOME10; export PATH=$JAVA_HOME/bin:$PATH'
সম্পাদনা: জাভা 11 এর জন্য আপডেট
export JAVA_HOME11=`/usr/libexec/java_home --version 11`
alias j11='export JAVA_HOME=$JAVA_HOME11; export PATH=$JAVA_HOME/bin:$PATH'
উপরেরগুলি আমাজনের ইসি 2 সরঞ্জামগুলির সাথে আমার পক্ষে কাজ করে নি, কারণ এটি bin/java
নীচে ইত্যাদি আশা করে JAVA_HOME
। /System/Library/Frameworks/JavaVM.framework/Home
কাজ করেছে।
ওএস এক্সের জন্য আপনি এটি করতে পারেন:
export JAVA_HOME=`/System/Library/Frameworks/JavaVM.framework/Versions/Current/commands/java_home`
ম্যাক ওএস এক্স লায়নটিতে, চালনার জন্য ভিজ্যুগসি সেট করতে, আমি ব্যবহার করেছি:
export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home
/usr/libexec/java_home
? কমান্ড / ইউএসআর / লিবেক্সেক / জাভা_হোম রিটার্ন দেয় / সিস্টেম / লাইব্রেরি / জাভা / জাভা ভার্চুয়ালম্যাচাইনস / ১.০.০. জেডকি / কনটেন্টস / হোম
নিম্নলিখিত আমার জন্য কাজ করে। আমি জাভা 8 ইনস্টল করে ওএসএক্স ইয়োসেমাইটে জেডএসএইচ ব্যবহার করছি।
নিম্নলিখিত কমান্ডটি /usr/libexec/java_home
জেডিকে বাড়ির পথে বেরিয়েছে:
/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home
আপনার ~/.zshrc
,
export JAVA_HOME = "/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home"
একটি আরও ভাল (আরও আপগ্রেডযোগ্য) উপায় নিম্নলিখিতটি ব্যবহার করা হয়:
/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home
এটি অ্যাডাব্লুএসের সাথেও কাজ করা উচিত কারণ এটি bin
হোমের নীচে রয়েছে
1.7.0_21-বি 12 এর মতো নতুন ওরেकल জেভিএমগুলি এখানে ইনস্টল করা আছে বলে মনে হচ্ছে:
/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
/usr/libexec/java_home
সরঞ্জামটি এই জাভা সংস্করণগুলির জন্য একটি ত্রুটি প্রদান করে।
ম্যাকোস মোজভেভ 10.14.1 এবং জাভা 11.0.1 এর জন্য আমি প্রোফাইলটি সেট করেছি
export JAVA_HOME=$(/usr/libexec/java_home)
এটি নিশ্চিত করতে টার্মিনালের কী:
$JAVA_HOME/bin/java -version
java version "11.0.1" 2018-10-16 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.1+13-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.1+13-LTS, mixed mode)
আমার পদ্ধতিটি হ'ল:
.bashrc
export JAVA6_HOME=`/usr/libexec/java_home -v 1.6`
export JAVA7_HOME=`/usr/libexec/java_home -v 1.7`
export JAVA_HOME=$JAVA6_HOME
# -- optional
# export PATH=$JAVA_HOME/bin:$PATH
এটি J6 এবং J7 এর মধ্যে স্যুইচ করা খুব সহজ করে তোলে
আমার এটিকে আমার ম্যাকবুক এয়ারে সঠিকভাবে সেট করতে হয়েছিল।
পদক্ষেপ অনুসরণ করেছে:
echo $JAVA_HOME
(যদি এটি সেট করা থাকে তবে এটি পথ দেখায়), যদি না হয় তবে এটি ব্যবহার করে অনুসন্ধান করার চেষ্টা করুনsudo find /usr/ -name *jdk
sudo nano ~/.bash_profile
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home
echo $JAVA_HOME
আমি জাভা 8 সহ একটি ম্যাকবুক এয়ারে ম্যাকস মোজাভে - 10.14.2 (18C54) চালাচ্ছি
ম্যাক ওএস এক্স ১০.৯-এর জন্য আমি ওরাকল থেকে জেআরইয়ের সর্বশেষ সংস্করণটি ইনস্টল করেছি এবং তারপরে জাভাআহোমকে / লাইব্রেরি / জাভা / জাভা ভার্চুয়ালম্যাচাইনস / জেডিকি 1.7.0_45.jdk/Contents/Home এ পুনরায় সেট করেছি।
আমি নিশ্চিত যে এর চেয়ে আরও ভাল উপায় আছে তবে আমাকে উঠে দৌড়াতে হবে।
হিউজম্যাক: ~ এইচবিআরএন cho প্রতিধ্বনি $ জাভাহোম / লাইব্রেরি / জাভা / জাভা ভার্চুয়ালম্যাচাইনস / জেডকি 1.7.0_45.jdk/ বিষয়বস্তু / হোম
ওএসএক্স ইয়োসেমাইট, জেডএসএইচ, এবং জাভা এসই রানটাইম এনভায়রনমেন্ট 8, আমাকে করতে হয়েছিল:
$ sudo ln -s /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands /System/Library/Frameworks/JavaVM.framework/Versions/Current/bin
এবং ~ / .zshrc এ JAVA_HOME এ পরিবর্তন করুন
export JAVA_HOME="/System/Library/Frameworks/JavaVM.framework/Versions/Current"
আমি আমার ম্যাক ওএস আপগ্রেড করার পরে এবং নিম্নলিখিতটি আমার পক্ষে কাজ করার পরে একই সমস্যা পেয়েছেন:
cmd> vi ~ / .Bash_profile
জাভাআহুমের জন্য লাইনটি যুক্ত / আপডেট করুন: JAVA_Home = "/ লাইব্রেরি / জাভা / জাভা ভার্চুয়ালম্যাচাইনস / jdk1.7.0_15.jdk / বিষয়বস্তু / হোম" রফতানি করুন
cmd> উত্স ~ / .বাশ_প্রফাইলে বা একটি নতুন টার্মিনাল খুলুন open
আমি মনে করি jdk সংস্করণটি পৃথক হতে পারে, সুতরাং আপনার / লাইব্রেরি / জাভা / জাভা ভার্চুয়ালমাচিনেস / এর অধীনে থাকা সংস্করণটি কেবল ব্যবহার করুন
আপনার যদি ম্যাক ওএস এক্স (যোসেমাইট) এর অধীনে জেডিকে একাধিক সংস্করণ প্রয়োজন হয় তবে তাদের মধ্যে স্বয়ংক্রিয় স্যুইচিংয়ের জন্য কিছু স্ক্রিপ্টিং যুক্ত করা সহায়ক হতে পারে।
আপনি যা করেন তা হ'ল আপনার ~ / .bash_ প্রোফাইলে সম্পাদনা করা এবং নিম্নলিখিতগুলি যুক্ত করুন:
function setjdk() {
if [ $# -ne 0 ]; then
removeFromPath '/System/Library/Frameworks/JavaVM.framework/Home/bin'
if [ -n "${JAVA_HOME+x}" ]; then
removeFromPath $JAVA_HOME
fi
export JAVA_HOME=`/usr/libexec/java_home -v $@`
export PATH=$JAVA_HOME/bin:$PATH
fi
}
function removeFromPath() {
export PATH=$(echo $PATH | sed -E -e "s;:$1;;" -e "s;$1:?;;")
}
setjdk 1.7
কি স্ক্রিপ্ট আছে প্রথম অপসারণ অন্যান্য JDK সংস্করণ হয় পাথ , যাতে তারা আমাদের নতুন JDK সংস্করণ হস্তক্ষেপ করা হবে না। তারপরে এটি / usr / lixec / java_home এর কিছু চালাক ব্যবহার করে যা একটি কমান্ড যা ইনস্টল করা জেডিকে সংস্করণ তালিকা করে। -V যুক্তি বলে java_home , সরবরাহকৃত সংস্করণের সাথে JDK এর পাথ ফিরে যাওয়ার উদাহরণ 1.7 জন্য। আমরা সদ্য পাওয়া জেভিএহোম ডিরেক্টরিটির বিন ডিরেক্টরিটিতে নির্দেশ করতে PATH আপডেট করি । শেষে আমরা সহজেই ব্যবহার করে ফাংশনটি কার্যকর করতে পারি
setjdk 1.7
যা 1.7 শাখার সর্বশেষ ইনস্টল করা জেডিকে সংস্করণ নির্বাচন করে। একটি নির্দিষ্ট সংস্করণ নির্বাচন করতে আপনি কেবল সম্পাদন করতে পারেন
setjdk 1.7.0_51
পরিবর্তে. রান / ইউএসআর / লিবেক্সেক / জাভা_হোম -ভিসংস্করণগুলি কীভাবে চয়ন করবেন সে সম্পর্কে আরও বিশদ পেতে ।
PS আপনি সংরক্ষণ করার পরে b / .bash_ প্রোফাইলে উত্সটি ভুলে যাবেন না ।
এই উত্তরটি সিংহ নয়, পর্বতের সিংহের সাথে সম্পর্কিত । আমার এডাব্লুএস কমান্ড লাইন সরঞ্জামগুলির জন্য এটি করা দরকার। এডাব্লুএস ডক্স অনুসারে চলমান which java
রিটার্ন/usr/bin/java
।
তাই, আমি সেট JAVA_HOME=/usr
আমার.bashrc
।
স্পষ্টতই, /usr/bin/java
এটি একটি প্রতীকী লিঙ্ক /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java
যা এটি সমস্ত কাজ করে।
হালনাগাদ
নীচের মন্তব্যে উল্লিখিত হিসাবে, JAVA_HOME
যখন JAVA_HOME
পরিবেশ পরিবর্তনশীল অ্যাডাব্লুএস কমান্ড লাইন সরঞ্জামগুলি ব্যতীত অন্য কোনও জিনিস ব্যবহার করতে হয় তখন এই মানটি কোনও আদর্শ সমাধান নয় । এটি এডাব্লুএস কমান্ড লাইন সরঞ্জামগুলির জন্য দুর্দান্ত কাজ করে, যদিও তাদের ডক্সে দেওয়া আছে।
ম্যাক ইয়োসেমাইটের জন্য,
JDK 1.7.0_xx ব্যবহার করছে
$ ls -ltar /usr/bin/java
/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java
JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.7.0_xx.jdk/Contents/Home
কেবলমাত্র 1.8 জেডি কে সংস্করণে জাভা_হোম ফাইলটিতে সেট netbeans.conf
করুন:
/Applications/NetBeans/NetBeans 8.2.app/Contents/Resources/NetBeans/etc/netbeans.conf
অসাধারণ লাইন:
netbeans_jdkhome="path/to/jdk"
এবং আপনার ক্ষেত্রে আপনার 1.8 জেডিকে যাত্রা করুন:
netbeans_jdkhome="/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home"
এই পদ্ধতির আপনাকে ম্যাক ওএসে বেশ কয়েকটি জেডিকে সংস্করণ রাখতে হবে
ম্যাক ব্যবহারকারীর জন্য। জাভা 8 যোগ করা উচিত
export JAVA_HOME=`/usr/libexec/java_home -v 1.8`
# JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home
জাভা 6:
export JAVA_HOME=`/usr/libexec/java_home -v 1.6`
# JAVA_HOME=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home