আপনি কীভাবে ম্যাকের জাভাটির ডিফল্ট সংস্করণটি পরিবর্তন করতে পারেন?
আপনি কীভাবে ম্যাকের জাভাটির ডিফল্ট সংস্করণটি পরিবর্তন করতে পারেন?
উত্তর:
প্রথম রান /usr/libexec/java_home -V
যা নিম্নলিখিতগুলির মতো কিছু আউটপুট দেবে:
Matching Java Virtual Machines (3):
1.8.0_05, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home
1.6.0_65-b14-462, x86_64: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
1.6.0_65-b14-462, i386: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home
আপনি যে সংস্করণটি ডিফল্ট হতে চান তা চয়ন করুন ( 1.6.0_65-b14-462
তর্ক করার জন্য) এরপরে:
export JAVA_HOME=`/usr/libexec/java_home -v 1.6.0_65-b14-462`
অথবা আপনি কেবলমাত্র প্রধান সংস্করণ নির্দিষ্ট করতে পারেন:
export JAVA_HOME=`/usr/libexec/java_home -v 1.8`
এখন যখন আপনি দৌড়াবেন java -version
আপনি দেখতে পাবেন:
java version "1.6.0_65"
Java(TM) SE Runtime Environment (build 1.6.0_65-b14-462-11M4609)
Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-462, mixed mode)
যোগ export JAVA_HOME…
আপনার শেল এর Init ফাইলে লাইন।
বাশের জন্য (যেমন অ্যান্টনিহ বলেছেন ):
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
মাছের জন্য (যেমন ormurin দ্বারা বর্ণিত)
set -x JAVA_HOME (/usr/libexec/java_home -d64 -v1.8)
export
লাইনটির ব্যাকটিক্স
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
- এছাড়াও নোট করুন, java_home আংশিক মিলগুলি মঞ্জুর করে যাতে আপনাকে সম্পূর্ণ সংস্করণটি অন্তর্ভুক্ত করতে হবে না কারণ এটি সর্বশেষতম ইনস্টলডটি খুঁজে পাবে। এটি আপডেটগুলি আরও সহজ করে তোলে।
এই উত্তরটি সম্বোধনের একটি প্রয়াস: জাভা সংস্করণ সিস্টেম-প্রশস্ত কীভাবে নিয়ন্ত্রণ করতে হবে (কেবলমাত্র চলমান শেলের মধ্যে নয়) যখন জ্যাককে বেশ কয়েকটি সংস্করণ ম্যাকোস এল ক্যাপিটান বা নতুন (সিয়েরা, হাই সিয়েরা, মোজাভে) তে বিকাশের উদ্দেশ্যে ইনস্টল করা হয় । আমি যতদূর বলতে পারি, বর্তমানের উত্তরগুলির মধ্যে কেউই এটি (*) করে না।
বিকাশকারী হিসাবে, আমি বেশ কয়েকটি জেডিকে ব্যবহার করি এবং আমি সহজেই একটি থেকে অন্যটিতে যেতে চাই। সাধারণত আমার কাছে সাধারণ ব্যবহারের জন্য সর্বশেষতম স্থিতিশীল থাকে এবং অন্যরা পরীক্ষার জন্য। তবে আমি চাই না যে সিস্টেমটি (যেমন আমি আমার আইডিই শুরু করি) আপাতত আমার কাছে থাকা সর্বশেষ "প্রাথমিক অ্যাক্সেস" সংস্করণটি ব্যবহার করুন। আমি সিস্টেমের ডিফল্ট নিয়ন্ত্রণ করতে চাই এবং এটি সর্বশেষ স্থিতিশীল হওয়া উচিত।
নিম্নলিখিত পদ্ধতির জাভা 7 থেকে 12 এর সাথে কাজ করে অন্তত (এই লেখার সময়ে আগাম অ্যাক্সেস), সঙ্গে ওরাকল JDK বা OpenJDK (তত্সহ তৈরী করে AdoptOpenJDK অক্টোবরের মাঝামাঝি সময়ে 2018 পর উত্পাদিত দ্বারা )।
/Library/Java/JavaVirtualMachines
। সিস্টেমটি ডিফল্টরূপে সর্বোচ্চ সংস্করণটি বেছে নেবে। Contents/Info.plist
করুনInfo.plist.disabled
। জেডিকে এখনও এটি ব্যবহার করা যেতে পারে যখন $JAVA_HOME
এটি নির্দেশ করে, বা স্পষ্টভাবে কোনও স্ক্রিপ্ট বা কনফিগারেশনে উল্লেখ করা হয়। এটি কেবল সিস্টেমের java
আদেশ দ্বারা উপেক্ষা করা হবে ।সিস্টেম লঞ্চার জেডিকে ব্যবহার করবে যাদের Info.plist
ফাইল রয়েছে তাদের মধ্যে সর্বোচ্চ সংস্করণ রয়েছে ।
বিকল্প জেডিকে দিয়ে শেলের সাথে কাজ করার সময়, বিদ্যমান উত্তরগুলির মধ্যে আপনার পদ্ধতিটি বেছে নিন (jenv
বা আশেপাশে কাস্টম নাম / স্ক্রিপ্টস /usr/libexec/java_home
ইত্যাদি)
এই টুকরো তদন্ত বিশদ ।
(*) বর্তমান উত্তরগুলি হয় অপ্রচলিত (ম্যাকোস এল ক্যাপিটান বা সিয়েরার জন্য আর বৈধ নয়), বা কেবল একটি একক জেডিকে সম্বোধন করে, বা সিস্টেম-ব্যাপী দিকটি সম্বোধন করে না। অনেকে কীভাবে পরিবর্তন করবেন তা ব্যাখ্যা করে $JAVA_HOME
, তবে এটি কেবল বর্তমান শেল এবং সেখান থেকে কী চালু হয় তা প্রভাবিত করে। এটি ওএস লঞ্চার থেকে শুরু হওয়া কোনও অ্যাপ্লিকেশনকে প্রভাবিত করবে না (যদি না আপনি সঠিক ফাইল এবং লগআউট / লগইন পরিবর্তন করেন যা ক্লান্তিকর)। জেনভের পক্ষেও একই, এটি দুর্দান্ত এবং সব কিছু, তবে যতদূর আমি এটি বলতে পারি পরিবেশের পরিবর্তনগুলি কেবল পরিবর্তন করে, তাই এটির একই সীমাবদ্ধতাও রয়েছে।
jenv
না JAVA_HOME
, যেমন একটি গ্রহণটি ব্যবহার করবে।
/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/
সম্ভবত নতুন পছন্দগুলি ফলকটি প্রবর্তন করবে - এটিই আমার সমাধানে পাওয়া একমাত্র ব্যতিক্রম that জিনিসটি এখনও জেডিকে 9 ব্যবহার করবে (সর্বশেষ আমি ইনস্টল করেছি), তবে অন্য কোনও জাভা অ্যাপ্লিকেশন তা করে না।
উপরের উত্তরগুলি যুক্ত করে, আমি আমার .bash_profile
(বা .zshrc
ম্যাকোস 10.15+) এর জন্য নিম্নলিখিত লাইনগুলি রেখেছি যা এটি স্যুইচ করা সত্যিই সুবিধাজনক করে তোলে (জাভা 9 এর জন্য @ এলেক্ট্রোমিনের মন্তব্য সহ):
alias j12="export JAVA_HOME=`/usr/libexec/java_home -v 12`; java -version"
alias j11="export JAVA_HOME=`/usr/libexec/java_home -v 11`; java -version"
alias j10="export JAVA_HOME=`/usr/libexec/java_home -v 10`; java -version"
alias j9="export JAVA_HOME=`/usr/libexec/java_home -v 9`; java -version"
alias j8="export JAVA_HOME=`/usr/libexec/java_home -v 1.8`; java -version"
alias j7="export JAVA_HOME=`/usr/libexec/java_home -v 1.7`; java -version"
সন্নিবেশ করার পরে, কার্যকর করুন $ source .bash_profile
আমি নিম্নলিখিত টাইপ করে জাভা 8 এ স্যুইচ করতে পারি:
$ j8
java version "1.8.0_102"
Java(TM) SE Runtime Environment (build 1.8.0_102-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.102-b14, mixed mode)
alias j9="export JAVA_HOME=`/usr/libexec/java_home -v 9`; java -version"
alias j10="export JAVA_HOME=`/usr/libexec/java_home`; java -version"
এবং তারপরে টাইপ করা j10
আপনাকে জাভার বর্তমান সংস্করণে ফিরে যেতে অনুমতি দেয় (আমার ক্ষেত্রে জাভা 10)
nvm
জাভা সংস্করণগুলির স্যুইচিংয়ের মতো একটি ক্লাইট সরঞ্জাম তৈরি করব , তবে সংক্ষিপ্ত রূপটি jvm
ইতিমধ্যে অন্যরকম কিছু বোঝায় :)
/Users/me/.zshrc:8: permission denied: /Library/Java/JavaVirtualMachines/openjdk-12.jdk/Contents/Home
/ ইউএসআর / লিবেক্সেক / জাভা_হোমের উপর ভিত্তি করে একটি ছোট ফিশ ফাংশন
function jhome
set JAVA_HOME (/usr/libexec/java_home $argv)
echo "JAVA_HOME:" $JAVA_HOME
echo "java -version:"
java -version
end
আপনি যদি মাছ ব্যবহার না করেন তবে আপনি ব্যাশে অনুরূপ কিছু করতে পারেন:
#!/bin/bash
jhome () {
export JAVA_HOME=`/usr/libexec/java_home $@`
echo "JAVA_HOME:" $JAVA_HOME
echo "java -version:"
java -version
}
তারপরে জাভাসের মধ্যে স্যুইচ করতে:
$> jhome #switches to latest java
$> jhome -v 1.7 #switches to java 1.7
$> jhome -v 1.6 #switches to java 1.6
export JAVA_HOME=(/usr/libexec/java_home $argv)
আপনার jhome
ফাংশনের দ্বিতীয় লাইনের পরিবর্তে আমাকে লিখতে হয়েছিল ।
এটি কিছুটা জটিল, তবে ওএস এক্স 10.9 (ম্যাভেরিক্স) এ জাভা ইনস্টল করার বর্ণিত পদক্ষেপগুলি অনুসরণ করার চেষ্টা করুন । মূলত, আপনাকে নিজের নামটি আপডেট করতে হবে java
।
ধাপে ধাপে:
JDK 1.7 ইনস্টল করার পরে, sudo ln -snf
লিঙ্কটি কারেন্টে পরিবর্তন করার জন্য আপনাকে কাজটি করতে হবে java
। এটি করতে, টার্মিনালটি খুলুন এবং কমান্ডটি জারি করুন:
sudo ln -nsf /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents \
/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK
নোট করুন যে ডিরেক্টরিটি jdk1.7.0_51.jdk
আপনি ইনস্টল করেছেন এমন SDK সংস্করণ অনুসারে পরিবর্তন হতে পারে।
এখন, আপনাকে JAVA_HOME
কোথায় jdk_1.7.0_xx.jdk
ইনস্টল করা হয়েছে তা নির্দেশ করতে হবে । টার্মিনালটি আবার খুলুন এবং টাইপ করুন:
export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home"
আপনার টার্মিনালে স্থায়ীভাবে জাভা রাখতে export JAVA_HOME
আপনি আপনার .bashrc
ফাইলের উপরের লাইনটি যুক্ত করতে পারেন
JAVA_HOME
বর্তমান টার্মিনাল সেশনে রফতানি করা হবে। আপনি চাইলে এটি আমাদের সাথে যুক্ত .bashrc
করতে পারেন। আমি আদেশগুলি শেষ সংস্করণে অভিযোজিত করব।
জেনভ ব্যবহার করা একটি সহজ উপায়।
1. ইনস্টল জেনভ
কার্ল-গুলি get.jenv.io | সজোরে আঘাত
2. কনফিগ জেনভ
সিডি ~ / .জেএনভ / প্রার্থী / mkdir java সিডি জাভা mkdir 1.7 mkdir 1.8
S.জডিকে পাথ সিমলিংক করুন
এলএন -এস / লাইব্রেরি / জাভা / জাভা ভার্চুয়ালম্যাচাইনস / জেডকি 1.7.0_79.jdk/ কনটেন্টস / হোম / বিন। / .জেএনভি / প্রার্থী / জাভা / 1.7 এলএন -এস / লাইব্রেরি / জাভা / জাভা ভার্চুয়ালম্যাচাইনস / জেডকি 1.8.0_45.jdk/ সামগ্রী / হোম / বিন ome / জেনভ / প্রার্থী / জাভা / 1.8
4. আপনি সব প্রস্তুত
কমান্ড স্যুইচ করুন:
jenv জাভা ব্যবহার 1.8
ডিফল্ট সেট করুন:
jenv ডিফল্ট জাভা 1.7
জেডিকে ইনস্টল করুন, শুধু জেআরই নয়
/usr/libexec/java_home -v 1.8
দেয়
/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home
পরবর্তী
touch .bash_profile
open -a TextEdit.app .bash_profile
TextEdit আপনাকে একটি ফাঁকা পৃষ্ঠা দেখাবে যা আপনি পূরণ করতে পারেন fill
দস্তাবেজে যুক্ত করুন:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home
টার্মিনালে:
export JAVA_HOME="$(/usr/libexec/java_home -v 1.8)"
কমান্ড চেষ্টা করুন:
javac -version
আউটপুট করা উচিত:
javac 1.8.0_111
TL; ড
লাইন যুক্ত করুন:
export JAVA_HOME='/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home'
ফাইলটি
~/.bash_profile
(আপনার ডাউনলোড করা সংস্করণ দিয়ে jdk1.8.0_144.jdk প্রতিস্থাপন করুন)
তারপর source ~/.bash_profile
জেনভ ব্যবহার করুন, এটি জাভা এনভায়রনমেন্ট ম্যানেজারের মতো। এটি ব্যবহার করা এবং পরিষ্কার করা অত্যন্ত সহজ
ম্যাকের জন্য, পদক্ষেপগুলি অনুসরণ করুন:
brew install jenv
git clone https://github.com/gcuisinier/jenv.git ~/.jenv
ইনস্টলেশন: আপনি যদি ব্যাশ ব্যবহার করছেন তবে এই পদক্ষেপগুলি অনুসরণ করুন:
$ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(jenv init -)"' >> ~/.bash_profile
$ exec $SHELL -l
জেএনভিতে JVM এর পছন্দসই সংস্করণ যুক্ত করুন:
jenv add /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
jenv add /System/Library/Java/JavaVirtualMachines/1.8.0.jdk/Contents/Home
ইনস্টল করা সংস্করণগুলি পরীক্ষা করুন:
jenv versions
আপনি যে জাভা সংস্করণটি ব্যবহার করতে চান সেটি সেট করুন:
jenv global oracle64-1.6.0
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
}
এই করা আপনার ~ / .profile এবং তাই মত আপনার টার্মিনাল এটি ব্যবহার setjdk 1.8
, setjdk 1.7
, setjdk 9
ইত্যাদি ইত্যাদি ...
আপনার যদি না থাকে removeFromPath
তবে তা হ'ল:
function removeFromPath() {
export PATH=$(echo $PATH | sed -E -e "s;:$1;;" -e "s;$1:?;;")
}
ডিফল্ট প্রক্রিয়া ব্যবহার করে এমন লোকদের জন্য টার্মিনাল ব্যবহার করে চারটি সহজ পদক্ষেপ .. :)
echo $JAVA_HOME
আপনাকে বাড়িতে বর্তমান জবা দেয়। যেমন:/Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home/
cd /Library/Java/JavaVirtualMachines/
আপনি সেই ফোল্ডারে নিয়ে যাবেন যেখানে আপনি সাধারণত jdks ইনস্টল করেন (এটি আপনার মেশিনগুলির জন্য আলাদা হতে পারে)
ls
আপনাকে ফোল্ডারগুলি উপলভ্য দেখায় (সাধারণত এটির সংস্করণ সংখ্যা থাকবে, উদাহরণস্বরূপ jdk1.8.0_191.jdk openjdk-11.0.2.jdk
:)export JAVA_HOME='/Library/Java/JavaVirtualMachines/openjdk-11.0.2.jdk/Contents/Home'
জাভা বাড়িতে পরিবর্তন হবে ..ম্যাকোস এল ক্যাপিটান বা আরও নতুন জেদেকে উপলব্ধ উচ্চতর সংস্করণ চয়ন করবে /Library/Java/JavaVirtualMachines
, সুতরাং ডাউনগ্রেড করার জন্য আপনি ফাইলটির Info.plist
অন্য কোনও নাম রাখতে পারেন Info.plist.disabled
যাতে ওএস একটি পূর্ববর্তী সংস্করণ চয়ন করে।
অ্যাপলের অফিসিয়াল জাভা_হোম (1) ম্যান পেজ থেকে :
**USAGE**
/usr/libexec/java_home helps users set a $JAVA_HOME in their login rc files, or provides a way for
command-line Java tools to use the most appropriate JVM which can satisfy a minimum version or archi-
tecture requirement. The --exec argument can invoke tools in the selected $JAVA_HOME/bin directory,
which is useful for starting Java command-line tools from launchd plists without hardcoding the full
path to the Java command-line tool.
Usage for bash-style shells:
$ export JAVA_HOME=`/usr/libexec/java_home`
Usage for csh-style shells:
% setenv JAVA_HOME `/usr/libexec/java_home`
প্রথমে আপনি পরিবেশের ভেরিয়েবলগুলি কোথায় সঞ্চয় করবেন তা সন্ধান করুন -
পরিবেশ পরিবর্তনশীল সেট আপ করার পদক্ষেপ: -
এখন আপনার ফাইলটিতে পরিবেশের পরিবর্তনগুলি সেট আপ করুন
ক। জন্য emacs.profile আপনি এই ব্যবহার করতে পারেন লিংক অথবা নীচের স্ক্রিনশট দেখতে
খ। জেডএসএইচ প্রোফাইল সেটআপের জন্য -
1. export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home
2. source ~/.zshrc - Restart zshrc to reflect the changes.
3. echo $JAVA_HOME - make sure path is set up properly
----> /Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home
4. java -version
--> java version "1.8.0_112" Java(TM) SE Runtime Environment (build 1.8.0_112-b16)Java HotSpot(TM) 64-Bit Server VM (build 25.112-b16, mixed mode)
সমস্ত সেট এখন আপনি সহজেই জাভা ভার্সন আপগ্রেড বা হ্রাস করতে পারেন ..
আমি উপরের @ অ্যালেক্স থেকে উত্তরটি অভিযোজিত করেছি এবং জাভা 9 এর কোড ঠিক করার জন্য নিম্নলিখিতটি লিখেছি।
$ cat ~/.jdk
#!/bin/bash
#list available jdks
alias jdks="/usr/libexec/java_home -V"
# jdk version switching - e.g. `jdk 6` will switch to version 1.6
function jdk() {
echo "Switching java version $1";
requestedVersion=$1
oldStyleVersion=8
# Set the version
if [ $requestedVersion -gt $oldStyleVersion ]; then
export JAVA_HOME=$(/usr/libexec/java_home -v $1);
else
export JAVA_HOME=`/usr/libexec/java_home -v 1.$1`;
fi
echo "Setting JAVA_HOME=$JAVA_HOME"
which java
java -version;
}
$ jdk 8
Switching java version 8
Setting JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
/usr/bin/java
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
$ jdk 9
Switching java version 9
Setting JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home
/usr/bin/java
java version "9.0.1"
Java(TM) SE Runtime Environment (build 9.0.1+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)
এখনও যদি আপনি এটি সেট করতে সক্ষম না হন। এই কমান্ড ব্যবহার করে।
JAVA_Home = রফতানি করুন/usr/libexec/java_home -v 1.8
তাহলে আপনাকে এটি ব্যবহার করতে হবে।
JAVA_Home = রফতানি করুন$(/usr/libexec/java_home -v 1.8)
এটা অবশ্যই কাজ করবে।
ডিফল্টরূপে সংস্করণ সেট করতে আপনি এটি আপনার .Bash_profile এ যুক্ত করতে পারেন।
//Open bash profile
open ~/.bash_profile
export JAVA_HOME=`/usr/libexec/java_home -v 1.8`
// run bash profile
source ~/.bash_profile
আপনি যদি মাছ ব্যবহার করছেন এবং আপনি ম্যাক ব্যবহার করছেন এবং আপনি জেডিকে-র মধ্যে পরিবর্তন করতে সক্ষম হতে চান তবে নীচে ম্যাকের জন্য আমার পক্ষে কাজ করে works
@ কেনগ্ল্যাক্সনের উত্তর আমার পক্ষে কার্যকর হয়নি এবং আমি বুঝতে পেরেছিলাম যে এটি বিসিওএস-সেট করেনি যা গ্লোবাল!
নীচে ~ / .config / ফিশ / কনফিগারেশন.ফিশ রাখুন
alias j8="jhome -v 1.8.0_162"
alias j9="jhome -v 9.0.1"
function jhome
set -g -x JAVA_HOME (/usr/libexec/java_home $argv)
echo "JAVA_HOME:" $JAVA_HOME
echo "java -version:"
java -version
end
funcsave jhome
আপনি কোন সংস্করণ / গৌণ সংস্করণ ইনস্টল করেছেন তা জানতে, আপনি এটি করতে পারেন:
/usr/libexec/java_home -V 579ms Wed 14 Feb 11:44:01 2018
Matching Java Virtual Machines (3):
9.0.1, x86_64: "Java SE 9.0.1" /Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home
1.8.0_162, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk/Contents/Home
1.8.0_121, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home
আপনার যদি একাধিক সংস্করণ থাকে এবং নির্দিষ্ট সংস্করণ ব্যবহার করে আপনি কিছু চালাতে চান তবে এই উদাহরণটি ব্যবহার করুন:
/usr/libexec/java_home -v 1.7.0_75 --exec java -jar you-file.jar
@মার্কেলওয়েল উত্তরের উপর ভিত্তি করে আমি বেশ কয়েকটি ওরফে ফাংশন তৈরি করেছি যা এটি আপনার জন্য করবে। এগুলি কেবল আপনার শেল স্টার্টআপ ফাইলটিতে যুক্ত করুন
#list available jdks
alias jdks="/usr/libexec/java_home -V"
# jdk version switching - e.g. `jdk 6` will switch to version 1.6
function jdk() {
echo "Switching java version";
export JAVA_HOME=`/usr/libexec/java_home -v 1.$1`;
java -version;
}
https://gist.github.com/Noyabronok/0a90e1f3c52d1aaa941013d3caa8d0e4
আমি এখানে আমার লিনাক্সে (উবুন্টু / মিন্ট সাথী) এটি কীভাবে করব তা আমার ধারণা ম্যাক এটি একইভাবে করতে পারে।
পদক্ষেপ:
/mnt/star/program/java/jdk-1.8
ln -s /mnt/star/program/java/jdk-1.8 /mnt/star/program/java/java
/mnt/star/program/java/java
নরম লিঙ্ক।JAVA_HOME
একটি সূচনা স্ক্রিপ্ট সেট করুন । /etc/profile.d/eric.sh
বা কেবল ব্যবহার করতে পারে ~/.bashrc
। JAVA_HOME=/mnt/star/program/java/java
java -version
জাভা সংস্করণ মুদ্রণ করা উচিত।/mnt/star/program/java/jdk-11
~/.bashrc
, বিভিন্ন জাভা সংস্করণের জন্য পরিবর্তনশীল নির্ধারণ করুন। _E_JAVA_HOME_11='/mnt/star/program/java/jdk-11'
_E_JAVA_HOME_8='/mnt/star/program/java/jdk-8'
# dir of default version,
_E_JAVA_HOME_D=$_E_JAVA_HOME_8
~/.bashrc
, জাভা সংস্করণ স্যুইচ করতে কমান্ড নির্ধারণ করুন। ## switch java version,
alias jv11="rm $JAVA_HOME; ln -s $_E_JAVA_HOME_11 $JAVA_HOME"
alias jv8="rm $JAVA_HOME; ln -s $_E_JAVA_HOME_8 $JAVA_HOME"
# default java version,
alias jvd="rm $JAVA_HOME; ln -s $_E_JAVA_HOME_D $JAVA_HOME"
alias jv="java -version"
source ~/.bashrc
পরিবর্তনগুলি কার্যকর করতে।আদেশগুলি:
jv11
jv8
jvd
_E_JAVA_HOME_D
উপরোক্ত সংজ্ঞায়িত দ্বারা চিহ্নিত করা হয়েছে।jv
উদাহরণ আউটপুট:
eric@eric-pc:~$ jv
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
eric@eric-pc:~$ jv11
eric@eric-pc:~$ jv
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)
eric@eric-pc:~$ jvd
eric@eric-pc:~$ jv
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
eric@eric-pc:~$
JAVA_HOME
।আমার মেশিনে যখন হাত দ্বারা জেডিকে ইনস্টল করা হয়, তখন আমি ছোটখাটো সংস্করণ রাখি, তারপরে বড় সংস্করণটি দিয়ে তবে একটি ছোট সংস্করণ ছাড়াই একটি নরম লিঙ্ক তৈরি করি।
যেমন
// এটি আসল দির,
jdk1.8.0_191
// এটি একটি নরম লিঙ্ক jdk1.8.0_191
jdk-8
// এটি একটি নরম লিঙ্ক jdk-8
বাjdk-11
java
আমি কমান্ড ওরফে সংজ্ঞায়িত করেছি ~/.bashrc
, তবে একটি পৃথক ফাইলের মধ্যে ভেরিয়েবল সংজ্ঞায়িত করেছি।
আমি ~/.eric_var
ভেরিয়েবলগুলি সংজ্ঞায়িত করতে ব্যবহার করছি এবং ~/.bashrc
এটি উত্স তৈরি করবে (উদাঃ source $HOME/.eric_var
)।
প্রদত্ত তালিকায় পৃথকভাবে ইনস্টল করা জেডিকে অন্তর্ভুক্ত করার একটি সহজ উপায় /usr/libexec/java_home -V
হ'ল ডিরেক্টরিটিকে সিমলিংক করা:
sudo ln -s path/to/jdk /Library/Java/JavaVirtualMachines/jdk-[some-identifier].jdk
উদাহরণস্বরূপ, অ্যান্ড্রয়েড স্টুডিওতে অন্তর্ভুক্ত জেডিকে নিবন্ধিত করতে (লেখার সময় 1.8.0_152), ব্যবহার করুন:
sudo ln -s /Applications/Android\ Studio.app/Contents/jre/jdk /Library/Java/JavaVirtualMachines/jdk-android-studio.jdk
এখন java_home
জেডিকে নীচে তালিকাবদ্ধ করবে Matching Java Virtual Machines
এবং আপনি উপরে বর্ণিত হিসাবে এটি নির্বাচন করতে পারেন।
আমি স্থানীয় টার্মিনালের সাথে এটি করেছি
export JAVA_8_HOME=(/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/)
export JAVA_13_HOME=(/Library/Java/JavaVirtualMachines/jdk-13.0.1.jdk/Contents/Home/)
alias java8='export JAVA_HOME=$JAVA_8_HOME; alias java="$JAVA_8_HOME/bin/java"; $JAVA_8_HOME/bin/java -version'
alias java13='export JAVA_HOME=$JAVA_13_HOME; alias java="$JAVA_13_HOME/bin/java"; $JAVA_13_HOME/bin/java -version'
export JAVA_HOME=$JAVA_13_HOME
এই সরঞ্জামটি আপনার জন্য কাজ করবে:
http://www.guigarage.com/2013/02/change-java-version-on-mac-os/
এটি একটি সরল জাভাওন যা বর্তমান জাভা সংস্করণ সংজ্ঞায়িত করতে ব্যবহার করা যেতে পারে। এই সংস্করণটি শেলটিতে ব্যবহার করা যেতে পারে যা সরঞ্জামে কোনও সংস্করণ নির্বাচনের পরে খোলা হয়।
খুব সহজ সমাধান: মাথা ব্যথা কি - এটি ছিল একটি দ্রুত সহজ সমাধান যা আমার পক্ষে কাজ করে।
ম্যাক ওএস সিয়েরা সংস্করণ 10.12.13
শর্টকাট কীগুলি ব্যবহার করুন: সিএমডি + শিফট + জি - "/ লাইব্রেরি /" টাইপ করুন
জাভা ফোল্ডারটি সন্ধান করুন
জাভা ফোল্ডারে ডান ক্লিক করুন = ট্র্যাশে সরান (পাসওয়ার্ড প্রয়োজন)
ইনস্টল করুন: জাভা এসই বিকাশ কিট 8 jdk-8u131-macosx-x64.dmg | জাভাস্ক্রিপ্ট এসডিকে ডাউনলোড করুন
/usr/libexec/java_home
আপনাকে কী বলে?