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/default
OpenJDK 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_HOME
değ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/bashrc
ben ayarını değiştirdiniz için JAVA_HOME
olmak:
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 grep
ve sed
sonucunu ayrıştırmak. Kesinlikle alternatives
benzer ş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).
alternatives
Varsayılan olarak yalnızca JRE hakkında olduğu görülüyor. @Niels'in cevabını ertelediyorum ya da sadece Java'yı kurup yum
JAVA_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.0
ve 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