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.