কীভাবে দেবিয়ান / উবুন্টুতে জাএভিএহোমকে নির্ধারণ করবেন?


95

উবুন্টুতে একই সাথে একাধিক জেভিএম থাকা সম্ভব। এর সাথে ডিফল্টটি নির্বাচন করা হয় update-alternatives। তবে এটি JAVA_HOMEএকটি ডিবিয়ান নীতিমালার কারণে পরিবেশের পরিবর্তনশীল সেট করে না ।

আমি একটি লঞ্চার স্ক্রিপ্ট (বাশ) লিখছি, যা জাভা অ্যাপ্লিকেশন শুরু করে। এই জাভা অ্যাপ্লিকেশনটির জন্য JAVA_HOMEপরিবেশের পরিবর্তনশীল প্রয়োজন। সুতরাং বর্তমানে যে জেভিএম দ্বারা নির্বাচিত হয়েছে তার পথ কীভাবে পাব update-alternatives?

উত্তর:


137

জেআরইয়ের জন্য, এর মতো কিছুতে কৌশলটি করা উচিত:

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

17
আমার জেআরইির পরিবর্তে জেডিকে-র বাড়ি দরকার ছিল, তবে আমি এটি ব্যবহার করে পেয়েছি: JAVA_HOME = $ (পঠন-সংযোগ / ফাইভ / usr / বিন / জাভাক | সেড "গুলি: বিন / জাভাক ::") আপনাকে ধন্যবাদ!
Witek

আমি যখন কমান্ডটি চেষ্টা করেছিলাম echo $(readlink -f /usr/bin/java | sed "s:bin/java::"), আউটপুটটি ছিল /usr/lib/jvm/java-7-oracle/jre/এবং না/usr/lib/jvm/java-7-oracle/
সুমিত রামতেকে

আরএসডিদে দেওয়া কোডটি সঠিকভাবে কাজ করে
সুমিত রামটেক

43

ডানাডামের সমাধানটি জেডিকে (যেমন জেআরই নয়) প্রয়োজন অনুসারে পুনরুদ্ধার করতে সহজেই গ্রহণ করা যেতে পারে:

JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::")
  • জেডিকে অন্তর্ভুক্ত জাভাক জাভা সংকলক (জাভা পরিবর্তে) খুঁজছেন (তবে জেআরই নয়)।
  • কোনও পিছনে নেই / (সেড এস দ্বারা বিচ্ছেদ ... / বিন ... এর পরিবর্তে এস: বিন ...)

12

export JAVA_HOME=$(dirname $(dirname $(readlink -f /usr/bin/java)))

ইন .bashrcআমার জন্য সুবিধাজনক ছিল না।


9

সুতরাং, আপনি বলছেন যে এই আদেশটি আপনার পক্ষে কিছুই করে না?

sudo update-alternatives --config java 

2
মনে করুন আপনার জাভাআহোম সেট করা যায়? আমি খুঁজে পেয়েছি যে আপডেট-জাভা-বিকল্পগুলি জাভা আপডেট করার একটি ভাল উপায় কারণ আপডেট-বিকল্পগুলি সমস্ত জাভা সম্পর্কিত বিকল্প আপডেট করে না। জিজ্ঞাসাবাবু
জেমস ম্যাকমাহন

সত্য, তবে আমি লিনাক্সের এমন উদাহরণগুলির মুখোমুখি হয়েছি যেগুলিতে আপডেট-বিকল্প ছিল তবে আপডেট-জাভা-বিকল্প ইনস্টল করা হয়নি।
জাঙ্গোফান

3

আমি সাথে জাভা ইনস্টল

sudo apt-get install openjdk-7-jre-headless

এবং তারপরে অবস্থানটি সন্ধান করতে

ls -al /etc/alternatives/java

2

দানাডামের উত্তর হিসাবে:

প্রথমত, 3 য় জাভা বিকল্প হিসাবে 2 য় জাভা জেআরই ইনস্টল করুন, "3" এর অগ্রাধিকার সহ:

sudo alternatives --install /usr/lib/jvm/jre jre /opt/IBM/java/jre/bin/java 3

তারপরে, আপনি সেগুলি তালিকাভুক্ত করতে পারেন:

update-alternatives --list java

আপনি এটি ব্যবহার করে বিকল্পটি হাত দ্বারা সেট করতে পারেন:

sudo alternatives --config java /opt/IBM/java/jre/bin/java

তারপরে, আপনার স্ক্রিপ্টটি এটিকে ফ্লাইতে সেট করতে পারে:

sudo alternatives --set java /opt/IBM/java/jre/bin/java
JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")

এটি 'সেড' কমান্ডটি কী করছে তা আরও ভালভাবে চিত্রিত করে। যদিও আপনাকে এখনও জাভা এবং জাভাক ইত্যাদির জন্য লিঙ্কগুলি সেট করতে হবে, পাশাপাশি প্রতিটি পৃথকভাবে করা হয়েছে।


1

কিছুক্ষণ আগে আমি জাভা ওয়েবসাইট থেকে কীভাবে সর্বশেষ জেআরই / জেডিকে ইনস্টল করতে পারি সে সম্পর্কে উবুন্টু ফোরামে একটি টিউটোরিয়াল তৈরি করেছি। এটি PATH ভেরিয়েবলের মধ্যে JRE / JDK অবস্থান যুক্ত করে কীভাবে এটি সিস্টেম-ব্যাপী সক্ষম করতে পারে তা কভার করে। আপনি যদি চান তবে আপনি বিষয়টির শেষে বর্ণিত স্ক্রিপ্টটিতে JAVA_HOME যুক্ত করতে পারেন।

এটি দেখুন: http://ubuntuforums.org/showthread.php?t=1437100


1

যদি জাভা update-alternativesআপনার প্যাথ ভেরিয়েবলের সাথে ম্যানুয়ালি কনফিগার করা থাকে বা যুক্ত করা হয় তবে কোনও হার্ডকোডের "/usr/bin/java"দরকার নেই। আমি আমার .bashrc এ এই সমাধানটি ব্যবহার করি:

export JAVA_HOME=$(readlink -m $(which java)/../..)

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