it-swarm-tr.com

CentOS için Java_HOME'un değeri nedir?

Ben Java CentOS üzerinde yum üzerinden var, ancak başka bir Java program Java_HOME çevresel değişkenin ne olduğunu bilmek gerekir. Çevresel değişkenleri ayarlama hakkında her şeyi biliyorum, ama ne olarak ayarlayabilirim? Java/usr/bin/Java, orada olamaz!

37
Rory

Aslında buldum,

bu /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/. Ne yaparak _ olduğunu öğrendim update-alternatives --display Java ve bana /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/Java

54
Rory

Emin değilim ama normal RPMS yüklerseniz Java_HOME değeri de buna ayarlanabilir:

/usr/Java/default/

EDIT: Ev sistemimi yeni kontrol ettim. Bu dosyayı oluşturdum:

/etc/profile.d/Java.sh

Şunları içerir:

export Java_HOME=/usr/Java/default/

ve Sun'ın resmi sürümünü kullanıyorum: jdk-1.6.0_12-fcs

DÜZENLEME: İşte nasıl ayarladığım Java :

Java'yı yükleyin

Java JDK'yı indirin ve yükleyin

Birincil yap

Aşağıdaki iki komutu kullanarak bu Java kullanıldığından emin olun:

İlk

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

İkinci

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'u ayarla

Tüm kullanıcıların Java_HOME ortam değişkeninin doğru değere ayarlandığından emin olun:

echo "export Java_HOME=/usr/Java/default/" > /etc/profile.d/Java_home.sh
20
Niels Basjes

Aşağıda her zaman benim için mükemmel çalışıyor:

[[email protected] ~]$ 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

Java_HOME'u /usr/Java/jdk1.6.0_31 olarak ayarlayabileceğim anlamına gelir

2
prashant

Java_HOME'u JDK veya JRE'nin kök konumu olarak ayarlamak istiyorsunuz, örneğin:

export Java_HOME=/usr/Java/jdk1.3

JDK (Geliştirme kiti) yüklüyse, ypu muhtemelen bunu göstermesini ister, aksi takdirde JRE yolunu (Java Runtime Environment) kullanın. Ardından, $ PATH ortam değişkeninizi bin dizinini de içerecek şekilde ayarlamak isteyebilirsiniz:

export PATH=$PATH:/usr/Java/jdk1.3/bin

Tomcat kullanıyorsanız, Tomcat kullanıcısı için CATALINA_HOME ayarlamanız da gerekebilir.

export CATALINA_HOME=/path/to/Tomcat

Bunu,/etc/profilinizi düzenlemek veya /etc/profile.d klasörüne bir .sh dosyası eklemek istediğiniz sistem için ayarlamak için. Belirli bir kullanıcı için kullanıcı ~/.profile veya ~/.bash_profile dosyalarına koyabilirsiniz.

2
Kyle Brandt

Bir Java ile birlikte kullanılan sürümünü değiştirirseniz sorunu düşündüm:

alternatives --config Java

Sonra sabit kodlanmış Java_HOME değişecek (en azından şu anda Centos 6.6'da bakacağım). Yani, /usr/Java.

Bu en iyi yolu gibi görünmüyor (hataya açık) ama bu konuda harcadığım 10 dakika içinde en iyi görünüyor.

İçinde /etc/bashrc Ayarı Java_HOME olmak:

export Java_HOME=$(alternatives --display Java | grep current | sed 's/link currently points to //' | sed 's|/bin/Java||')

MacOSX'ta benzer bir şey yapmalısınız, ancak sonucu ayrıştırmak için grep ve sed olmadan. Elbette alternatives benzer şekilde daha kolay bir çözüm sunar.

Neyse umarım yardımcı oldum.


Güncellemesi

Hayır bu JRE_HOME. JDK/SDK çok açık değil (bakmaya devam edeceğim).

alternatives varsayılan olarak yalnızca JRE ile ilgilidir. @Niels cevap ertelemek veya sadece Java _ yum ile Java) yüklemek ve Java_HOME bunu (hile yüklü olduğu yerde bulundu!) Ayarlayın.

yum install Java-1.8.0-openjdk-devel.x86_64
cd /usr/lib/jvm 

Farkettim Java_1.8.0, /etc/alternatives/Java_sdk_1.8.0 ve böylece $ Java_HOME'umu /usr/lib/jvm/Java_1.8.0. İçinde /etc/bashrc.

1
HankCa

re: Centos7, /etc/Java/java.conf dosyasına bakın.

i̇çinde Java_HOME'un aşağıdaki dizinde bulunduğu belirtilir:/usr/lib/jvm/Java

i kontrol, ben yum ile yüklenen jdk doğru sürümüdür ve böylece ...

benim env varsayılan olarak Java_HOME ayarlanmamış, bu nedenle .bash_profile

0
theRiley

Paket yöneticisinin çeşitli konumlara yerleştirebileceğini buldum, bu yüzden hangi kullanarak (bir kapsayıcı kullanıyorsanız bunu açıkça yüklemeniz gerekecek) aşağıdaki biraz daha az kırılgan

javaCompiler=$(which javac)
javaBin=$(dirname $(readlink -f $javaCompiler))
javaHome=${javaBin%/*}
export Java_HOME=$javaHome

veya JRE için

javaExec=$(which Java)
javaBin=$(dirname $(readlink -f $javaExec))
javaHome=${javaBin%/*}
export JRE_HOME=$javaHome
0
Jules Clements

Bu tuhaf, bir JAVE_HOME çevresel değişkenine sahip olmanın tüm amacı, her programın yolunu belirtmeniz gerekmiyor, bu değişkeni arayarak bu yolu alabilir.

Her iki durumda da, Java_HOME için çevresel değişkeni bulmanın doğru yolu echo kullanmaktır:

[[email protected] ~]# echo $Java_HOME
/usr/Java/j2sdk1.4.2_09

Bu komutu çalıştırmak, hangi sürümü kullanıyor olursanız olun yolu komut satırından görüntüler.

0
Dave Drager