Mevcut JAVA_HOME'umu ubuntu'da nasıl bulabilirim?


Yanıtlar:


84

Terminalde yazınız,

echo $JAVA_HOME

JAVA_HOME değişken yolunu göster.

BU ŞEYİ YAPMAK İÇİN HİÇBİR ŞEY YOK

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64

Bu, JDK tipinize ve sürümünüze göre farklılık gösterecektir.

Görüntülemek için ilk komutu izleyin.

Farklı JDK'ler kullanmak için bu gönderiyi izleyin veya JDK'ler arasında geçiş yapın.


"/ Usr / lib / jvm / java-6-sun" verir. Ancak java 7'yi yükledim. "Java -version" kullanarak kontrol ettiğimde, java sürümü "1.7.0_45" Java (TM) SE Çalışma Zamanı Ortamı (sürüm 1.7.0_45-b18) Java HotSpot (TM) Server VM (yapı) verir. 24.45-b08, karma mod)
— Samitha Chathuranga

2
daha sonra JAVA_HOME değişkenini ayarlamak için ikinci komutu uygulayın. NOT:JAVA_HOME doesn't make jdk default, it just makes JAVA_HOME variable set to a path & if you want to use different jdk installed on same machine then check my answer, I have edited it.
— derinleştirin

Bunu / etc / environment olarak ayarlamanız gerekir
— keiki

@ Jax-L Ama şimdi yankı verdiğimde JAVA_HOME sadece "JAVA_HOME" olarak görüntüleniyor. Verdiğim yol gösterilmiyor ... ???
— Samitha Chathuranga

2
dışa aktarma yalnızca siz yeniden başlatana kadar çalışır. Veya .bashrc giriş komut dosyasına ihracat ekleyin. Ancak bu tür ortam değişkenlerini ayarlamanın doğru yolu / etc / environment dizinindedir
— keiki

34

Eğer JDK 1.6 varsa veya yüklü daha yeni bir sürümü (Java 6 karşılık gelir), adlı bir programa sahip olmalıdır jrunscriptGözlerinde farklı PATH. İlgili bulmak için bunu kullanabilirsiniz JAVA_HOME. Örnek:

$ jrunscript -e 'java.lang.System.out.println(java.lang.System.getProperty("java.home"));'
/opt/local/jdk1.7.0_76/jre

Ortam değişkenini şöyle ayarlayabilirsiniz:

$ export JAVA_HOME="$(jrunscript -e 'java.lang.System.out.println(java.lang.System.getProperty("java.home"));')"

JRE'nin içermediğine dikkat edin jrunscript, bu nedenle yalnızca JRE'yi değil JDK'yi yüklerseniz bu işe yarar.


Bir dizine daha derine girmem gerektiğine karar vermem gereken çok şey vardı, ama teşekkürler.
— cnizzardini

15

Bir başka taşınabilir seçenek de JDK'nın mutlak yolunu şunlardan çıkarmaktır javac:

export JAVA_HOME=`type -p javac|xargs readlink -f|xargs dirname|xargs dirname`

Mutlak javacyol, uçtan dirnamekaldırmak için iki kez geçirilir /bin/javac. Dizinin tamamen çıkartılması şöyledir:

$ type -p javac
/usr/bin/javac

$ readlink -f /usr/bin/javac
/usr/lib/jvm/java-8-oracle/bin/javac

$ dirname /usr/lib/jvm/java-8-oracle/bin/javac
/usr/lib/jvm/java-8-oracle/bin/

$ dirname /usr/lib/jvm/java-8-oracle/bin/
/usr/lib/jvm/java-8-oracle/

1
Birini type -p javac|xargs readlink -f|xargs dirname|xargs dirname(dışa aktarma kısmı olmadan) dizini ayarlamadan tanımak için kullanabilirsiniz.
— Mina Michael,

Tam olarak aradığım şey! Mükemmel cevap!
— Silviu Burcea

7

Güncelleme alternatifleri mekanizmasını dikkate almak için:

$ update-alternatives --query java | grep 'Value: ' | grep -o '/.*/jre'

Ortam değişkenini şöyle ayarlayabilirsiniz:

$ export JAVA_HOME="$(update-alternatives --query java | grep 'Value: ' | grep -o '/.*/jre')"

Bu, JAVA_HOME’a vermeyeceği için hala izini sürmeyecek /jre. Deneyebilirsinexport JAVA_HOME="$(update-alternatives --query java | grep 'Value: ' | sed -e 's/Value: //;s?/jre/bin/java??;')"
— James Brusey

7

Sadece bir komut çalıştır

 sudo update-alternatives --config java

Gibi bir şey verecek

Es gibt nur eine Alternative in Link-Gruppe java (die /usr/bin/java bereitstellt): /usr/lib/jvm/java-8-oracle/jre/bin/java

Bundan / usr / lib / jvm / java-8-oracle / java evi olarak var. Şimdi onu JAVA_HOME değişkenine verebilirsiniz

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

Şimdi $ JAVA_HOME göster


1

Bunu Ubuntu LTS'de (14.04 / 16.04) kullanıyorum:

[ -L /etc/alternatives/java ] && 
  export JAVA_HOME="$(readlink -f /etc/alternatives/java | sed -e 's/\/jre\/bin\/java$//')"


0

Java 9 ve üstü için:

Bu cevap https://askubuntu.com/a/657468/963 , java.homesistem özelliğini yazdırmak için ekteki Nashorn JavaScript motorunu Nashorn kullanır . Nashorn kullanımdan kaldırılıyor, bu nedenle jshellJava 9'da tanıtılan bir alternatif kullanılacak .

echo 'System.out.println(java.lang.System.getProperty("java.home"));' | jshell  -

benim Ubuntu 18.10 sistemimde hangi çıktılar:

/usr/lib/jvm/java-11-openjdk-amd64
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.