JDK 7'yi varsayılan olarak ayarlama


83
 four@twenty:~$ file /etc/alternatives/java /etc/alternatives/javac
 /etc/alternatives/java:symbolic link to `/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java'
 /etc/alternatives/javac:symbolic link to `/usr/lib/jvm/java-6-openjdk-amd64/bin/javac'

Noobishness affet ama bu mesajları Java 7 kullanarak çalışma zamanı ortamı olarak yorumluyorum ama derleyici Java 6 kullanıyor?

Bu doğru mu ve eğer öyleyse, Java sürüm 7'yi kullanmaya nasıl ayarlayabilirim?

Yanıtlar:


155

Yüklü Java sürümleri arasında geçiş update alternativeskomutu kullanılarak yapılabilir .

  • Yüklü Java platformlarınızın bir listesini görmek için terminalden aşağıdaki komutu çalıştırın:

    sudo update-alternatives --config java

    Bu size buna benzer bir liste çıktısı verecektir:

    There are 2 choices for the alternative java (providing /usr/bin/java).
       Selection    Path                                           Priority   Status
      ------------------------------------------------------------
      0            /usr/lib/jvm/java-6-oracle/jre/bin/java         1070      auto mode
      1            /usr/lib/jvm/java-7-openjdk-i386/jre/bin/java   1051      manual mode
    * 2            /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java   1069      manual mode
    Press enter to keep the current choice[*], or type selection number: 

Bu durumda, Açık JDK 6 sürümü çalışıyordur. Açık JDK sürüm 7'ye geçmek için 1komut isteminde seçeneği seçip tuşuna basın Enter.

Şimdi OpenJDK 7 sürümünü çalıştırıyor olacaksınız. Java sürümlerinizi değiştirmek için başka bir değişiklik yapmanız gerekmeyecek.


Tamam teşekkürler. Jkd6 kaldırılmasından bir şey kazanabilir miyim?
Wingsuit

@ user142712 Sorun yok. Kaldırma işleminin, güvenlik açısından yararlı olan eski tarayıcı eklentisini de kaldıracağına inanıyorum.
Kevin Bowen

1
Hızlı bir şekilde "Sorun yok" cevabını almayacağım. Oracle.com/technetwork/java/javase/compatibility-417013.html ve upstream-tracker.org/java/versions/jdk.html adresini ziyaret edin . Bu iki ana sürüm arasında% 100 uyumluluk yoktur ve yedinci sürümle düzgün şekilde çalışamayan bir uygulamanız X olacak şekilde gerçekleşebilir (öyle değil ama yine de ...). Sorun çıkmadığından emin olana kadar, önceki sürüme ihtiyaç duymanız durumunda ikisini de saklamanızı şiddetle tavsiye ediyorum.
rbaleksandar

Sadece net olmak için. "Sorun değil" yorumu, size memnuniyetle karşılandığımı söylemenin bir başka yoluydu, Java kurulumunuzla ilgili hiçbir sorun olmadığını iddia etmedim.
Kevin Bowen,

1
Bu yanıt tarafından sağlanan güncelleme alternatifleri çözümü yalnızca JRE'yi değiştirir . Bkz aşağıda uygun yolu tüm geçiş için JDK tek bir komut ile (derleyici ve diğer araçları)
J. edecektir

15

Kullanılmasını öneren en çok oy alan cevap

update-alternatifleri

soruyu sadece kısmen yanıtlıyor. Bunu kullanarak Java ortamınızla tutarsız olmanız çok olasıdır.

Bu, JRE'ye değil, JDK'ya sahipseniz özellikle önemlidir.

[sudo] güncelleme alternatifleri --config java

sadecejava komutun versiyonunu değiştirecek , yani ana JRE çalıştırılabilirini değiştirecektir.

javacve diğer JDK araçları hala diğer Java sürümüne işaret edecektir. Tamamen geçiş yapmak update-alternativesiçin diğer tüm araçlarla devam etmeniz gerekir .

Doğru ve çok daha kolay bir yolu "alternatifler" sistemi ile Linux dağıtımında Java sürümleri geçmek için - Debian yani yoksa türevi Ubuntu var - Kullanmak update-java-alternatifleri komutunu.

update-java-alternative -l - yüklü Java sürümlerini listeler

[sudo] güncelleme-java-alternatifleri -s - istenen sürüme geçecek

Kaynak


BU! Çok teşekkür ederim. Size internette daha fazla puan verebilmeyi isterdim, ancak henüz haklı olduğumu sanmıyorum.
Nenotlep

10

sudo update-alternatives --config javaTakılıysa, çalıştırabilir ve JDK 7'yi seçebilirsiniz.


Tamam şerefe, İki JKD7'nin bir diğeri otomatik olarak diğer bir liste durumu olarak yerleştirildiğini söylüyor. Fark var mı?
Wingsuit


"Her bağlantı grubu, herhangi bir zamanda, iki moddan birindedir: otomatik veya manuel. Bir grup otomatik moddayken, paketler yüklenip kaldırıldığından, bağlantıların güncellenip güncellenmeyeceğine, alternatif sistem otomatik olarak karar verir. . manuel modda, alternatifler sistem bağlantıları değişmeyecek, aynı sistem yöneticisine bütün kararları bırakacak ".
mpen

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.