سؤال كيفية تحديد JAVA_HOME على دبيان / أوبونتو؟


على Ubuntu من الممكن أن يكون JVMs متعددة في نفس الوقت. يتم تحديد الافتراضي مع update-alternatives. ولكن هذا لا يحدد JAVA_HOME متغير البيئة ، نظرا ل سياسة ديبيان.

أكتب نصوصًا نصية (bash) ، والتي تبدأ تطبيق جافا. يحتاج هذا التطبيق جافا JAVA_HOME متغيرات البيئة. إذن ، كيف تحصل على مسار JVM الذي تم تحديده حاليًا بواسطة update-alternatives؟


90
2018-05-20 15:09


الأصل




الأجوبة:


بالنسبة إلى JRE ، يجب أن يؤدي شيء من هذا القبيل إلى الحيلة:

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

133
2018-05-20 17:55



كنت بحاجة إلى منزل JDK بدلاً من JRE ، لكنني حصلت على هذا باستخدام: JAVA_HOME = $ (readlink -f / usr / bin / javac | sed "s: bin / javac ::") شكرًا لك! - Witek
عندما حاولت الأمر echo $(readlink -f /usr/bin/java | sed "s:bin/java::")، كان الإخراج /usr/lib/jvm/java-7-oracle/jre/ و لا /usr/lib/jvm/java-7-oracle/ - Sumit Ramteke
كود معين في rsaddey يعمل بشكل صحيح - Sumit Ramteke


يمكن بسهولة اعتماد حل danadam لاسترداد مسار JDK (أي ليس JRE) كما هو مطلوب:

JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::")
  • يبدو لجافاك جافا مترجم (بدلا من جافا) المدرجة في JDK (ولكن ليس JRE).
  • لا يوجد زائدة / (جردت بواسطة s s: / bin ... بدلاً من s: bin ...)

43
2018-06-02 08:44





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

في .bashrc كان مفيد بالنسبة لي.


12
2018-04-25 09:34





إذن ، أنت تقول أن هذا الأمر لا يفعل شيئا بالنسبة لك؟

sudo update-alternatives --config java 

9
2018-05-20 15:14



هل هذا يفترض أن تقوم بتعيين JAVA_HOME الخاص بك؟ لقد وجدت أن بدائل التحديث-java هي طريقة أفضل لتحديث Java حيث لا تقوم بدائل التحديث بتحديث كافة البدائل ذات الصلة بـ Java. نرى askubuntu.com/questions/141791 - James McMahon
صحيح ، ولكني صادفت مثيلات Linux التي كانت تحتوي على بدائل التحديث ولكن لم يتم تثبيت بدائل التحديث-جافا. - djangofan


أنا ركبت جافا مع

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

ومن ثم العثور على الموقع

ls -al /etc/alternatives/java

3
2018-03-05 03:40





كامتداد لإجابات danadams:

أولاً ، قم بتثبيت Java JRE 2 كخيار java الثالث ، مع أولوية "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::")

هذا يوضح بشكل أفضل ما يفعله الأمر 'sed'. على الرغم من أنك لا تزال بحاجة إلى إعداد روابط لـ javaw و javac ، إلخ ، كل منها يتم بشكل منفصل.


2
2018-03-02 16:40





منذ فترة وجيزة ، قمت بإنشاء برنامج تعليمي حول منتدى Ubuntu حول كيفية تثبيت أحدث JRE / JDK من موقع Java. كما يغطي أيضًا كيفية تمكينه على مستوى النظام ، عن طريق إضافة موقع JRE / JDK إلى متغير PATH. إذا كنت ترغب في ذلك ، يمكنك أيضًا إضافة JAVA_HOME إلى النص البرمجي المذكور في نهاية الموضوع.

تحقق من ذلك: http://ubuntuforums.org/showthread.php؟t=1437100


1
2018-05-20 18:47