JAVA_HOME
Ubuntu'daki değerini Oracle'ın Java'sına işaret edecek şekilde nasıl değiştirebilirim ?
java-6-sun
Veya işaret etmeli java-6-sun-1.6.0.24
mi?
JAVA_HOME
Ubuntu'daki değerini Oracle'ın Java'sına işaret edecek şekilde nasıl değiştirebilirim ?
java-6-sun
Veya işaret etmeli java-6-sun-1.6.0.24
mi?
Yanıtlar:
Çizgiyi koydum:
export JAVA_HOME=/usr/lib/jvm/java-7-oracle
Benim de ~/.bashrc
dosyaya.
/usr/lib/jvm/java7-oracle
işaret eden sembolik bir bağlantı olmalıdır /usr/lib/jvm/java-7-oracle-[version number here]
.
Sembolik bir bağlantı olmasının nedeni, JVM'nin yeni bir sürümü olması durumunda .bashrc
dosyanızı güncellemenize gerek olmamasıdır, otomatik olarak yeni sürüme işaret etmelidir.
JAVA_HOME
Ortam değişkenlerini global olarak ve sistem düzeyinde ayarlamak istiyorsanız, kullanım /etc/environment
dosyada ayarlanmalıdır .
oracle-java7-set-default
paketin ne yaptığı benim için tamamen belirsiz .
Küresel olarak ve sistem düzeyinde değiştirmek istiyorsanız;
İçinde
/etc/environment
bu satırı ekle:
JAVA_HOME=/usr/lib/jvm/java-7-oracle
$JAVA_HOME
çalışmıyor ... böyle kullanıldığında çözülmüyor PATH=$JAVA_HOME/bin
, yeniden başlatmayı denedi, etki yok. Bu dosyada mı yoksa profilimde mi olmalı export
yoksa set
JAVA_HOME
bu dosyada mı?
Oracle'ın Java SE Geliştirme Kiti'ni sistem varsayılanı Java olarak ayarlamak için en son Java SE Geliştirme Kiti'ni buradan indirin ve dosya sisteminizde istediğiniz yerde bir dizin oluşturun, örneğin /usr/java
şimdi bu dizine indirdiğiniz dosyaları çıkarın:
$ sudo tar xvzf jdk-8u5-linux-i586.tar.gz -C /usr/java
şimdi JAVA_HOME
ortam değişkeninizi ayarlamak için :
$ JAVA_HOME=/usr/java/jdk1.8.0_05/
$ sudo update-alternatives --install /usr/bin/java java ${JAVA_HOME%*/}/bin/java 20000
$ sudo update-alternatives --install /usr/bin/javac javac ${JAVA_HOME%*/}/bin/javac 20000
Oracle'ın java'sının varsayılan java olarak ayarlandığından emin olun:
$ update-alternatives --config java
şöyle bir şey elde edersiniz:
There are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
* 0 /opt/java/jdk1.8.0_05/bin/java 20000 auto mode
1 /opt/java/jdk1.8.0_05/bin/java 20000 manual mode
2 /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java 1061 manual mode
Press enter to keep the current choice[*], or type selection number:
soldaki sayılardan önce yıldız işaretine dikkat edin ve doğru olan ayarlanmadıysa, numarayı yazıp enter tuşuna basarak doğru olanı seçin. şimdi java'nızı test edin:
$ java -version
aşağıdaki gibi bir şey alırsanız, gitmek için iyidir:
java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) Server VM (build 25.5-b02, mixed mode)
bunu yapabilmek için root iznine ihtiyacınız olabileceğini veya sudoers grubunda olabileceğinizi de unutmayın. Bu çözümü hem ubuntu 12.04 hem de Debian wheezy üzerinde test ettim ve her ikisinde de çalışıyor.
Bu ortam değişkeninin tüm kullanıcılar tarafından kullanılabilir olmasını ve sistem başlangıcında olmasını istiyorsanız, /etc/profile.d/java.sh dosyasına (gerekirse oluşturun) aşağıdakileri ekleyebilirsiniz :
export JDK_HOME=/usr/lib/jvm/java-7-oracle
export JAVA_HOME=/usr/lib/jvm/java-7-oracle
Sonra bir terminal çalışmasında:
sudo chmod +x /etc/profile.d/java.sh
source /etc/profile.d/java.sh
İkinci sorum şu - java-6-sun veya java-6-sun-1.6.0.24'ü işaret etmeli mi?
Her zaman java-7-oracle
en son yüklü olana sembolik olarak işaret etmelidir (Java'yı Ubuntu depolarından ve şimdi oracle.com adresinden indirdiğinizden varsayalım).
java 6
export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-amd64
veya java 7
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64
Herhangi bir geliştirme yapıyorsanız, JDK'ya (Java Geliştirme Kiti) işaret etmeniz gerekir. Aksi takdirde, JRE'yi (Java Çalışma Zamanı Ortamı) gösterebilirsiniz.
JDK, JRE'nin sahip olduğu her şeyi ve daha fazlasını içerir. Yalnızca Java programlarını yürütüyorsanız, JRE veya JDK'yı işaret edebilirsiniz.
Kullandığınız JAVA_HOME
geçerli Java'ya göre ayarlamanız gerekir .
readlink
geçerli Java için sembolik bir bağlantının değerini yazdırır ve sed
JRE dizinine ayarlar:
export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
JAVA_HOME'u JDK olarak ayarlamak istiyorsanız, bir klasör daha yukarı gitmelisiniz:
export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:jre/bin/java::")
Birden fazla JDK yüklendiğinde Java'nın belirli bir sürümünü kullanmak istiyorsanız, yalnızca JAVA_HOME'u ayarlamak işe yaramayabilir.
sudo update-alternatives --config java
Varsayılan Java'yı ayarlamak için kullanmanız gerekir .
Https://askubuntu.com/questions/121654/how-to-set-default-java-version adresine bakın .
Bkz bu ; Çalıştırmak
sudo update-java-alternatives --list
bir makinedeki tüm Java yüklemelerini ada ve dizine göre listelemek ve ardından
sudo update-java-alternatives --set [JDK/JRE name e.g. java-8-oracle]
hangi JRE / JDK'nın kullanılacağını seçmek için.
Her Java görevi için farklı JDK'lar / JRE'ler kullanmak istiyorsanız, bir kerede bir java yürütülebilir dosyası yapılandırmak için güncelleme alternatiflerini çalıştırabilirsiniz; koşabilirsin
sudo update-alternatives --config java[Tab]
yapılandırılabilen Java komutlarını görmek için (java, javac, javah, javaws vb.). Ve sonra
sudo update-alternatives --config [javac|java|javadoc|etc.]
bu Java görevini / komutunu belirli bir JDK / JRE ile ilişkilendirir.
Bazı uygulamalar için JAVA_HOME ayarlamanız da gerekebilir: bu cevaptan şunları kullanabilirsiniz:
export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
JRE'ler için veya
export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:jre/bin/java::")
JDK'lar için.
java -XshowSettings 2>&1 | grep -e 'java.home' | awk '{print "JAVA_HOME="$3}' | sed "s/\/jre//g" >> /etc/environment