উত্তর:
আমি বেশ নিশ্চিত নই তবে আপনি যদি সাধারণ আরপিএম ইনস্টল করেন তবে জাভাওহোম মানটিও এতে সেট করা যেতে পারে:
/usr/java/default/
সম্পাদনা: আমি সবেমাত্র আমার হোম সিস্টেম পরীক্ষা করেছি। আমি এই ফাইলটি তৈরি করেছি:
/etc/profile.d/java.sh
ধারণকৃত:
export JAVA_HOME=/usr/java/default/
এবং আমি সান থেকে অফিসিয়াল সংস্করণ ব্যবহার করছি: jdk-1.6.0_12-fcs
সম্পাদনা: আমি এখানে আমার মেশিনে জাভা সেট আপ করব :
ওরাকল থেকে জাভা জেডিকে ডাউনলোড এবং ইনস্টল করুন
নিম্নলিখিত দুটি কমান্ড ব্যবহার করে ওপেনজেডকে সংস্করণের পরিবর্তে এই জাভাটি ব্যবহার হয়েছে তা নিশ্চিত করুন:
alternatives --install /usr/bin/java java /usr/java/default/bin/java 999999 \
--slave /usr/bin/keytool keytool /usr/java/default/bin/keytool \
--slave /usr/bin/rmiregistry rmiregistry /usr/java/default/bin/rmiregistry
alternatives --install /usr/bin/javac javac /usr/java/default/bin/javac 999999 \
--slave /usr/bin/jar jar /usr/java/default/bin/jar \
--slave /usr/bin/rmic rmic /usr/java/default/bin/rmic
নিশ্চিত হয়ে নিন যে সমস্ত ব্যবহারকারীর তাদের JAVA_HOME পরিবেশের পরিবর্তনশীল সঠিক মানটিতে সেট হয়েছে:
echo "export JAVA_HOME=/usr/java/default/" > /etc/profile.d/java_home.sh
/usr/java/defaultআমার সেন্টওএস মধ্যে OpenJDK 1.6 এবং 1.7 6 বক্স ইনস্টল করা নেই।
আপনি জেডিএ বা জেআরই এর মূল অবস্থান হিসাবে JAVA_Home সেট করতে চান, উদাহরণস্বরূপ:
export JAVA_HOME=/usr/java/jdk1.3
যদি জেডিকে (ডেভলপমেন্ট কিট) ইনস্টল করা থাকে তবে ypu সম্ভবত এটি নির্দেশ করতে চায় অন্যথায় জেআরই পথ (জাভা রানটাইম এনভায়রনমেন্ট) ব্যবহার করুন। তারপরে, আপনি বিন ডিরেক্টরি অন্তর্ভুক্ত করতে আপনার AT PATH পরিবেশ পরিবর্তনশীল সেট করতে চাইতে পারেন:
export PATH=$PATH:/usr/java/jdk1.3/bin
আপনি যদি টমক্যাট ব্যবহার করছেন তবে আপনাকেও টমক্যাট ব্যবহারকারীর জন্য ক্যাটালিনহোম সেট করতে হবে।
export CATALINA_HOME=/path/to/tomcat
সিস্টেমের জন্য এটি সেট করতে আপনি আপনার / ইত্যাদি / প্রোফাইল সম্পাদনা করতে চান বা /etc/profile.d ফোল্ডারে একটি .sh ফাইল যুক্ত করতে চান। কোনও নির্দিষ্ট ব্যবহারকারীর জন্য আপনি এটি ব্যবহারকারী /। / প্রোফাইলে বা ~ / .bash_profile ফাইলগুলিতে রাখতে পারেন।
নীচে সর্বদা আমার জন্য নিখুঁতভাবে কাজ করছে:
[user@base ~]$ locate bin/java
/usr/bin/java
/usr/bin/javac
/usr/bin/javadoc
/usr/bin/javaws
/usr/java/jdk1.6.0_31/bin/java
/usr/java/jdk1.6.0_31/bin/javac
/usr/java/jdk1.6.0_31/bin/javadoc
/usr/java/jdk1.6.0_31/bin/javah
/usr/java/jdk1.6.0_31/bin/javap
/usr/java/jdk1.6.0_31/bin/javaws
/usr/java/jdk1.6.0_31/jre/bin/java
/usr/java/jdk1.6.0_31/jre/bin/java_vm
/usr/java/jdk1.6.0_31/jre/bin/javaws
এর অর্থ আমি জাভাহোহোমকে /usr/java/jdk1.6.0_31 হিসাবে সেট করতে পারি
আমি যদি জাভাটির সংস্করণটি এর সাথে ব্যবহার হচ্ছে তবে এটির সমস্যাটি বিবেচনা করেছি:
alternatives --config java
তারপরে যে কোনও হার্ড কোডেড JAVA_HOMEপরিবর্তন করতে চলেছে (এটি বর্তমানে সেন্টোস 6.6 এ আমি দেখছি on যে, নেই /usr/java।
এটি সেরা পদ্ধতির মতো মনে হচ্ছে না (ব্যর্থতার জন্য উন্মুক্ত) তবে 10 মিনিটের মধ্যে আমি এটি ব্যয় করেছি এটি সেরা বলে মনে হয়।
ইন /etc/bashrcআমি সেটিং সংশোধন JAVA_HOMEহতে হবে:
export JAVA_HOME=$(alternatives --display java | grep current | sed 's/link currently points to //' | sed 's|/bin/java||')
আপনাকে ম্যাকোএসএক্সে অনুরূপ কিছু করতে হবে তবে সমস্ত কিছু ছাড়াই grepএবং sedফলাফলটি বিশ্লেষণ করতে। অবশ্যই alternativesএকটি অনুরূপ সহজ সমাধান প্রস্তাব।
যাইহোক আমি আশা করি আমি সাহায্য করেছি।
হালনাগাদ
না যে হবে JRE_HOME। জেডিকে / এসডিকে তেমন সুস্পষ্ট প্রমাণিত হচ্ছে না (আমি সন্ধান করবো)।
alternativesডিফল্ট হিসাবে শুধুমাত্র JRE সম্পর্কে মনে করা হয়। আমি @ নীলস উত্তরটি মুলতুবি করেছি বা জাভা ইনস্টল yumকরে জাভাআহোমকে সেট করেছি (ট্রিকটি আমি যেখানে খুঁজে পেয়েছি সেখানে ইনস্টল করা হয়েছিল!)।
yum install java-1.8.0-openjdk-devel.x86_64
cd /usr/lib/jvm
আমি লক্ষ্য করেছি java_1.8.0যে /etc/alternatives/java_sdk_1.8.0এটিতে একটি সিমিলিংক রয়েছে এবং তাই আমার $ জাভাহোমকে এতে সেট করুন /usr/lib/jvm/java_1.8.0। ইন /etc/bashrc।
অদ্ভুতরূপে, JAVE_HOM পরিবেশগত পরিবর্তনশীল হওয়ার পুরো বিষয়টি হ'ল আপনাকে অবশ্যই প্রতিটি প্রোগ্রামের পাথ নির্দিষ্ট করতে হবে না, এটি এই চলকটি অনুসন্ধান করে এই পথটি পেতে পারে।
যে কোনও উপায়ে, জাভাহোমের পরিবেশগত পরিবর্তনশীল সন্ধানের সঠিক উপায়টি প্রতিধ্বনি ব্যবহার করা:
[root@host ~]# echo $JAVA_HOME
/usr/java/j2sdk1.4.2_09
এই কমান্ডটি চালানো কমান্ড লাইন থেকে আপনি যে সংস্করণটি চালিয়ে যাচ্ছেন তা নির্ধারণ করে না display
পুনরায়: Centos7, /etc/java/java.conf ফাইলটি পড়ুন।
এটিতে জাভাএহোম নিম্নলিখিত দিরের মধ্যে অবস্থিত বলে চিহ্নিত করা হয়েছে: / usr / lib / jvm / java
আমি পরীক্ষা করে দেখেছি, এটি যে জেডিকে আমি ইউমের মাধ্যমে লোড করেছি এটির সঠিক সংস্করণ এবং তাই ...
আমার এনভির ডিফল্টরূপে JAVA_Home সেট নেই, তাই আমি এটি .Bash_profile এ সেট করেছি
আমি প্যাকেজ ম্যানেজারটি বিভিন্ন স্থানে দেখতে পেলাম, সুতরাং যা ব্যবহার করে (কোনও ধারক ব্যবহার করে আপনাকে স্পষ্টভাবে এটি ইনস্টল করতে হবে) নীচে সামান্য কম ভঙ্গুর রয়েছে
javaCompiler=$(which javac)
javaBin=$(dirname $(readlink -f $javaCompiler))
javaHome=${javaBin%/*}
export JAVA_HOME=$javaHome
বা জেআরই এর জন্য
javaExec=$(which java)
javaBin=$(dirname $(readlink -f $javaExec))
javaHome=${javaBin%/*}
export JRE_HOME=$javaHome