שאלה כיצד ניתן לקבוע את JAVA_HOME בדביאן / אובונטו?


על אובונטו ניתן לקבל מספר JVMs בו זמנית. ברירת המחדל נבחרת עם update-alternatives. אבל זה לא קובע JAVA_HOME משתנה סביבה, עקב א מדיניות debian.

אני כותב סקריפט משגר (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: 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
קוד נתון ב ארדי עובד כראוי - Sumit Ramteke


הפתרון של danadam יכול בקלות להיות מאומץ כדי לאחזר את JDK (כלומר לא JRE) נתיב כנדרש:

JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::")
  • מחפש javac Java מהדר (במקום ג 'אווה) כלול JDK (אבל לא JRE).
  • אין נגרר / (מופשטים על ידי sed 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. ראה askubuntu.com/questions/141791 - James McMahon
נכון, אבל אני נתקל במקרים של לינוקס כי יש חלופות עדכון, אבל לא היו עדכון- java חלופות מותקן. - djangofan


התקנתי את ג 'אווה עם

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

ולאחר מכן למצוא את המיקום

ls -al /etc/alternatives/java

3
2018-03-05 03:40





כמו הרחבה של danadams התשובה:

קודם כל, להתקין את Java JRE 2 כמו אפשרות ג 'אווה 3, עם עדיפות של "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





לפני כמה זמן יצרתי הדרכה על פורום אובונטו על איך להתקין את JRE האחרונה / JDK מאתר האינטרנט של ג 'אווה. הוא גם מכסה כיצד לאפשר את זה על המערכת כולה, על ידי הוספת JRE / JDK מיקום המשתנה PATH. אם תרצה, תוכל גם להוסיף את JAVA_HOME לתסריט, שהוזכר בסוף הנושא.

תבדוק את זה: http://ubuntuforums.org/showthread.php?t=1437100


1
2018-05-20 18:47