Yanıtlar:
Emin değilim ama normal RPMS'yi kurarsanız JAVA_HOME değeri de şu şekilde ayarlanabilir:
/usr/java/default/
EDIT: Sadece ev sistemimi kontrol ettim. Bu dosyayı yarattım:
/etc/profile.d/java.sh
Bu 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 benim makinede Java kurmak nasıl :
Java'dan JDK'yı indirin ve yükleyin
Aşağıdaki iki komutu kullanarak bu Java'nın OpenJDK sürümü yerine kullanıldığından emin olun:
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
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
/usr/java/defaultOpenJDK 1.6 ve 1.7 yüklü CentOS 6 kutumda yok .
JAVA_HOME’yu JDK veya JRE’nin kök konumu olarak ayarlamak istiyorsunuz, örneğin:
export JAVA_HOME=/usr/java/jdk1.3
JDK (Geliştirme seti) kuruluysa, ypu muhtemelen işaret etmesini 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 ayarlaması gerekebilir.
export CATALINA_HOME=/path/to/tomcat
Bunu sisteme ayarlamak için / etc / profilinizi düzenlemek veya /etc/profile.d klasörüne bir .sh dosyası ekleyin. Belirli bir kullanıcı için bunu ~ / .profile veya ~ / .bash_profile dosyalarına koyabilirsiniz.
Aşağıda her zaman benim için mükemmel çalışıyor:
[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
JAVA_HOME ayarını /usr/java/jdk1.6.0_31 olarak ayarlayabildiğim anlamına geliyor.
Kullanılmakta olan java sürümünü değiştirip değiştirmeme sorununu düşündüm:
alternatives --config java
Sonra herhangi bir kodlanmış kod JAVA_HOMEdeğişecek (en azından şu an bakmakta olduğum Centos 6.6'da olacak). Yani, hayır yok /usr/java.
Bu en iyi yol gibi gözükmüyor (başarısızlığa açık), ancak harcadığım 10 dakika içinde en iyisi gibi görünüyor.
In /etc/bashrcben ayarını değiştirdiniz için JAVA_HOMEolmak:
export JAVA_HOME=$(alternatives --display java | grep current | sed 's/link currently points to //' | sed 's|/bin/java||')
Sen MacOSX üzerinde benzer bir şey yapmak zorunda ama hepsi olmadan grepve sedsonucunu ayrıştırmak. Kesinlikle alternativesbenzer şekilde daha kolay bir çözüm sunar.
Neyse umarım yardım etmişimdir.
Güncelleme
Hayır, olmazdı JRE_HOME. JDK / SDK açıkça belli değil (bakmaya devam edeceğim).
alternativesVarsayılan olarak yalnızca JRE hakkında olduğu görülüyor. @Niels'in cevabını ertelediyorum ya da sadece Java'yı kurup yumJAVA_HOME ayarını yaptım (işin püf noktası nerede kurulduğunu bulduğum yer!).
yum install java-1.8.0-openjdk-devel.x86_64
cd /usr/lib/jvm
Fark ettim java_1.8.0, bir bağlantı oldu /etc/alternatives/java_sdk_1.8.0ve bu yüzden $ JAVA_HOME olarak ayarlayın /usr/lib/jvm/java_1.8.0. İçinde /etc/bashrc.
Bu garip, bir JAVE_HOME çevresel değişkenine sahip olmanın asıl amacı, her programın yolunu belirtmeniz gerekmediği için, bu değişkeni arayarak bu yolu bulabilir.
Her iki durumda da, JAVA_HOME için çevresel değişkeni bulmanın doğru yolu yankı kullanmaktır:
[root@host ~]# echo $JAVA_HOME
/usr/java/j2sdk1.4.2_09
Bu komutu çalıştırmak, hangi sürümde çalışıyor olursanız olun komut satırından gidecektir.
re: Centos7, /etc/java/java.conf dosyasına bakın.
İçinde JAVA_HOME, aşağıdaki direkte bulunduğu belirtilir: / usr / lib / jvm / java
kontrol ettim, yum üzerinden yüklenen jdk'in doğru sürümü.
env'im varsayılan olarak JAVA_HOME ayarına sahip değil, bu yüzden .bash_profile dosyasına ayarladım
Öyle kullanarak, paket yöneticisi konumlardan çeşitli yerleştirebilirsiniz bulunan hangi şu biraz daha az kırılgandır (bir kapsayıcı kullanıyorsanız açıkça bu yüklemeniz gerekir)
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