উবার্টুতে কীভাবে ওরাকলের জাভাটিকে ডিফল্ট জাভা হিসাবে সেট করবেন?


134

আমি কীভাবে JAVA_HOMEউবুন্টুতে মানটির পরিবর্তন করে ওরাকলের জাভাতে নির্দেশ করব?

এটা java-6-sunবা ইঙ্গিত করা উচিত java-6-sun-1.6.0.24?

উত্তর:


175

আমি লাইনটি রেখেছি:

export JAVA_HOME=/usr/lib/jvm/java-7-oracle

আমার ~/.bashrcফাইলে

/usr/lib/jvm/java7-oracleনির্দেশক একটি লিঙ্ক হতে হবে /usr/lib/jvm/java-7-oracle-[version number here]

এটি প্রতীকী লিঙ্কটির কারণ হ'ল যদি জেভিএম এর নতুন সংস্করণ থাকে তবে আপনার .bashrcফাইল আপডেট করার দরকার নেই , এটি স্বয়ংক্রিয়ভাবে নতুন সংস্করণটির দিকে নির্দেশ করবে।

আপনি যদি JAVA_HOMEবিশ্বব্যাপী এবং সিস্টেম পর্যায়ে পরিবেশের ভেরিয়েবল সেট করতে চান তবে /etc/environmentফাইলের মধ্যে ব্যবহারটি সেট করা উচিত ।


4
বা /usr/lib/jvm/java-1.6.0-openjdk-amd64 যদি আপনি ওরাকল (সান) জেডিকে এর পরিবর্তে ওপেনজেডিকে ব্যবহার করেন।
pm_labs

7
আপনি রফতানি JAVA_HOME = / usr / lib / jvm / default-java /
noomz

@ Noomz ডিফল্ট-জাভা না থাকলে আপনি কীভাবে তা পাবেন?
অহঙ্গারআর্টিস্ট

@ এহুঙ্গারআর্টিস্ট আপনি পাবেন যে আপনি যদি ওপেনজেডকে বা অন্য সরকারীভাবে সমর্থিত উবুন্টু প্যাকেজ ইনস্টল করেন। দুর্ভাগ্যক্রমে, এটি ওয়েবআপডি 8 / জাভা পিপিএ ব্যবহার করে ওরাকল জেডিকে সমর্থন করে না। আসলে, এটি আমার কাছে সম্পূর্ণ অস্পষ্ট, oracle-java7-set-defaultপ্যাকেজটি কী করে does
মেলভিন

ফাইলটি আপনি কোথায় রাখেন?
সিজিপার্জ

166

আপনি যদি এটি বিশ্বব্যাপী এবং সিস্টেম পর্যায়ে পরিবর্তন করতে চান;

ভিতরে

/etc/environment

এই লাইন যুক্ত করুন:

JAVA_HOME=/usr/lib/jvm/java-7-oracle

27
+1 এটি প্রস্তাবিত উপায়ে হেল্প.বুন্টু.com
ড্যানিয়েল কুলম্যান

@ মেটডোজ উপরের উত্তরটি বিশ্বব্যাপী বা সিস্টেম স্তরে নয়?
অ্যান্ড্রয়েড কিলার

1
@ অ্যান্ড্রয়েডকিলার আপনি কি ড্যানিয়েল কুলম্যান লিংকটি পরীক্ষা করেছেন?
metdos

@ মেটডোস দুর্দান্ত কাজ করে, তবে রেফারিং ভেরিয়েবলগুলি আমার পক্ষে কাজ $JAVA_HOMEকরে না ... PATH=$JAVA_HOME/binপুনরায় চালু করার চেষ্টা করা হয়, কোনও প্রভাব হয় না এরকম ব্যবহার করার সময় সমাধান হয় না । আমাকে করতে হবে না exportবা set JAVA_HOMEহয় আপনি এই ফাইল বা আমার প্রোফাইলে?
রাফিয়ান

@ রাফিয়ান আমি বিভিন্ন কোণার মামলার বিষয়ে নিশ্চিত নই, এইভাবে এটি আমার পক্ষে পুরোপুরি কাজ করেছিল, আরও তথ্যের জন্য আমি আপনাকে হেল্প.বুন্টু
কম্যুনিটি

53

ওরাকলের জাভা এসই ডেভলপমেন্ট কিটটিকে সিস্টেম ডিফল্ট হিসাবে সেট করতে জাভা এখান থেকে সর্বশেষতম জাভা এসই ডেভলপমেন্ট কিটটি ডাউনলোড করুন তারপরে আপনার ফাইল সিস্টেমে আপনার পছন্দ মতো একটি ডিরেক্টরি তৈরি করুন উদাহরণস্বরূপ /usr/javaএখন আপনি কেবলমাত্র সেই ডিরেক্টরিতে ডাউনলোড করা ফাইলগুলি বের করুন:

$ sudo tar xvzf jdk-8u5-linux-i586.tar.gz -C /usr/java

আপনার JAVA_HOMEপরিবেশ পরিবর্তনশীল সেট করতে এখন :

$ JAVA_HOME=/usr/java/jdk1.8.0_05/
$ sudo update-alternatives --install /usr/bin/java java ${JAVA_HOME%*/}/bin/java 20000
$ sudo update-alternatives --install /usr/bin/javac javac ${JAVA_HOME%*/}/bin/javac 20000

নিশ্চিত করুন যে ওরাকলের জাভা ডিফল্ট জাভা হিসাবে সেট করেছেন:

$ update-alternatives --config java

আপনি এই জাতীয় কিছু পান:

There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                           Priority   Status
------------------------------------------------------------
* 0            /opt/java/jdk1.8.0_05/bin/java                  20000     auto mode
  1            /opt/java/jdk1.8.0_05/bin/java                  20000     manual mode
  2            /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java   1061      manual mode

Press enter to keep the current choice[*], or type selection number:

বাম দিকে সংখ্যার আগে অ্যাসিস্টিকে মনোযোগ দিন এবং যদি সঠিকটি সেট না করা হয় তবে তার নম্বরটি টাইপ করে এবং এন্টার টিপে সঠিকটি চয়ন করুন। এখন আপনার জাভা পরীক্ষা করুন:

$ java -version

নিম্নলিখিতগুলির মতো কিছু পেলে আপনি যাওয়াই ভাল:

java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) Server VM (build 25.5-b02, mixed mode)

এছাড়াও নোট করুন যে এটি করতে সক্ষম হতে আপনার রুট অনুমতি প্রয়োজন হতে পারে বা sudoers গ্রুপে থাকতে পারে। আমি এই উবুন্টু 12.04 এবং ডেবিয়ান হুইজি উভয় ক্ষেত্রেই এই সমাধানটি পরীক্ষা করেছি এবং এটি উভয় ক্ষেত্রেই কাজ করে।


1
হ্যাঁ এই সমাধানটি গ্রহণযোগ্যটির চেয়ে পরিষ্কার।
সিমোন চিত্তাদিনি

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

@ বারাকুদা আমি ইতিমধ্যে আপ-ভোট দিয়েছি, আপনি তথ্য সম্পর্কে সঠিক, এটি উবুন্টু 16.10 64 বিট সার্ভার ওএস-এ আমার জন্য কাজ করেছে :)
জয়মিন গজ্জার

20

আপনি যদি এই পরিবেশের পরিবর্তনশীল সমস্ত ব্যবহারকারীর জন্য এবং সিস্টেম শুরুতে চান তবে আপনি নিম্নলিখিতটি /etc/profile.d/java.sh এ যুক্ত করতে পারেন (প্রয়োজনে এটি তৈরি করুন):

export JDK_HOME=/usr/lib/jvm/java-7-oracle
export JAVA_HOME=/usr/lib/jvm/java-7-oracle

তারপরে টার্মিনাল রান করুন:

sudo chmod +x /etc/profile.d/java.sh
source /etc/profile.d/java.sh

আমার দ্বিতীয় প্রশ্নটি হল - এটি জাভা -6-সূর্য বা জাভা -6-সূর্য-1.6.0.24 এর দিকে নির্দেশ করা উচিত?

সর্বদা java-7-oracleএটি সর্বশেষতম ইনস্টলড হিসাবে প্রতীক হিসাবে চিহ্নিত করা উচিত (ধরে নিই যে আপনি উবুন্টু সংগ্রহস্থল থেকে জাভা ইনস্টল করেছেন এবং এখন oracle.com এ উপলব্ধ ডাউনলোড থেকে)।



10

আপনি যদি কোনও ধরণের বিকাশ করছেন তবে আপনাকে জেডিকে (জাভা ডেভলপমেন্ট কিট) নির্দেশ করতে হবে। অন্যথায়, আপনি জেআরই (জাভা রানটাইম এনভায়রনমেন্ট) এর দিকে নির্দেশ করতে পারেন।

জেডিকে জেআরই এবং আরও অনেক কিছু রয়েছে। আপনি যদি কেবল জাভা প্রোগ্রামগুলি চালাচ্ছেন তবে আপনি জেআরই বা জেডিকেকে নির্দেশ করতে পারেন।

আপনি যে JAVA_HOME বর্তমান জাভা ব্যবহার করছেন তার উপর ভিত্তি করে আপনার সেট করা উচিত । readlinkবর্তমান জাভা জন্য প্রতীকী লিঙ্কের মান মুদ্রণ করবে এবং sedএটি JRE ডিরেক্টরিতে সামঞ্জস্য করবে:

export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")

আপনি যদি জেডিএতে জেভিএহোম সেট আপ করতে চান তবে আপনার আরও একটি ফোল্ডার তৈরি করা উচিত:

export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:jre/bin/java::")

7

যদি আপনি একাধিক জেডিকে ইনস্টল হয় তখন জাভার নির্দিষ্ট সংস্করণটি ব্যবহার করতে চান, কেবল জাভাওয়াহোম সেট করা কাজ নাও করতে পারে।

আপনাকে sudo update-alternatives --config javaডিফল্ট জাভা সেট করতে ব্যবহার করতে হবে।

পড়ুন /ubuntu/121654/how-to-set-default-java-version


5

এই দেখুন ; চালান

sudo  update-java-alternatives --list

নাম এবং ডিরেক্টরি অনুসারে একটি মেশিনে সমস্ত জাভা ইনস্টলেশনগুলি তালিকাভুক্ত করতে এবং তারপরে চালনা করুন

sudo  update-java-alternatives --set [JDK/JRE name e.g. java-8-oracle]

কোন JRE / JDK ব্যবহার করবেন তা চয়ন করতে।

আপনি যদি প্রতিটি জাভা টাস্কের জন্য বিভিন্ন জেডিকে / জেআরই ব্যবহার করতে চান, আপনি একবারে এক্সিকিউটেবল একটি জাভা কনফিগার করতে আপডেট-বিকল্পগুলি চালাতে পারেন; আপনি চালাতে পারেন

sudo  update-alternatives --config java[Tab]

জাভা কমান্ডগুলি কনফিগার করা যায় তা দেখতে (জাভা, জাভাক, জাভা, জাভা ইত্যাদি)। এবং তারপর

sudo  update-alternatives --config [javac|java|javadoc|etc.]

সেই জাভা টাস্ক / কমান্ডকে একটি নির্দিষ্ট জেডিকে / জেআরইয়ের সাথে যুক্ত করবে।

কিছু অ্যাপ্লিকেশনগুলির জন্য আপনাকে জেভিএহোম সেটও করতে হতে পারে: এই উত্তর থেকে আপনি ব্যবহার করতে পারেন

export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")

জেআরই এর জন্য, বা

export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:jre/bin/java::")

জেডিকে-র জন্য।


আরেকটি পদ্ধতি:java -XshowSettings 2>&1 | grep -e 'java.home' | awk '{print "JAVA_HOME="$3}' | sed "s/\/jre//g" >> /etc/environment
এক্সডিজি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.