Pengaturan JDK 7 sebagai default

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'

Maafkan noobishness saya, tetapi saya mengartikan pesan ini sebagai lingkungan runtime menggunakan Java 7 tetapi kompiler menggunakan Java 6?

Apakah ini benar, dan jika demikian, bagaimana saya mengaturnya untuk menggunakan Java versi 7?

Wingsuit
sumber

Jawaban:

155

Beralih antara versi Java yang diinstal dapat dilakukan menggunakan update alternativesperintah.

  • Untuk mendapatkan daftar platform Java yang Anda instal, jalankan perintah berikut dari terminal:

    sudo update-alternatives --config java

    Ini akan memberi Anda daftar keluaran yang mirip dengan ini:

    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: 
    

Dalam hal ini, versi Open JDK 6 sedang berjalan. Untuk beralih ke Open JDK versi 7, Anda akan memilih opsi 1pada prompt dan tekan Entertombol.

Anda sekarang akan menjalankan versi OpenJDK 7. Tidak ada perubahan lain yang diperlukan untuk mengganti versi Java Anda.

Kevin Bowen
sumber
Oke terima kasih. Apakah saya akan mendapatkan sesuatu dari mencopot jkd6?
Wingsuit
@ user142712 Tidak masalah. Saya percaya bahwa menghapus instalan juga akan menghapus plugin browser lama, yang bermanfaat untuk keamanan.
Kevin Bowen
1
Saya tidak akan pergi untuk jawaban "Tidak masalah" begitu cepat. Periksa oracle.com/technetwork/java/javase/compatibility-417013.html dan upstream-tracker.org/java/versions/jdk.html . Tidak ada kompatibilitas 100% antara kedua versi utama dan itu mungkin terjadi begitu (tidak mungkin tapi masih ...) bahwa Anda memiliki aplikasi X yang tidak dapat berjalan dengan baik dengan versi ketujuh. Sampai Anda memastikan tidak akan ada masalah saya sangat menyarankan untuk menjaga keduanya kalau-kalau Anda membutuhkan versi sebelumnya.
rbaleksandar
Untuk lebih jelasnya. Komentar "no problem" adalah cara lain saya mengatakan Anda diterima, saya tidak pernah mengklaim bahwa tidak akan ada masalah dengan instalasi Java Anda.
Kevin Bowen
1
solusi pembaruan-alternatif yang disediakan oleh jawaban ini hanya akan mengganti JRE . Lihat di bawah ini untuk cara yang tepat untuk mengganti seluruh JDK (kompiler dan alat-alat lainnya) dengan satu perintah
J. Will
15

Jawaban yang paling banyak dipilih yang menyarankan untuk digunakan

pembaruan-alternatif

hanya sebagian yang menjawab pertanyaan. Dengan menggunakannya, Anda kemungkinan besar berakhir dengan lingkungan Java Anda tidak konsisten.

Ini sangat penting jika Anda memiliki JDK, bukan JRE

[sudo] pembaruan-alternatif - config java

akan mengubah versi untuk javaperintah saja , yaitu repoint JRE utama yang dapat dieksekusi.

javacdan alat JDK lainnya masih akan menunjuk ke versi java lainnya. Untuk beralih sepenuhnya, Anda harus melanjutkan dengan update-alternativessemua alat lainnya.

Cara yang tepat dan jauh lebih mudah untuk beralih versi Java dalam distribusi Linux dengan sistem "alternatif" - yaitu dalam Debian atau Ubuntu turunannya - adalah dengan menggunakan perintah pembaruan-java-alternatif .

update-java-alternative -l - akan menampilkan daftar versi Java yang diinstal

[sudo] pembaruan-java-alternative -s - akan beralih ke versi yang diminta

Sumber

J. Will
sumber
INI! Terima kasih banyak. Saya berharap saya bisa memberi Anda lebih banyak poin internet, tapi saya pikir saya belum benar.
Nenotlep
10

Anda dapat menjalankan sudo update-alternatives --config java, dan pilih JDK 7, jika sudah diinstal.

Frederik Spang
sumber
Oke sorak-sorai, Dikatakan saya memiliki dua JKD7 diinstal satu status daftar sebagai otomatis manual lainnya. Apakah ada perbedaan?
Wingsuit
Ada Info di sini: linux.die.net/man/8/update-alternatives tetapi saya akan memilih otomatis.
Frederik Spang
"Setiap grup tautan, pada waktu tertentu, dalam salah satu dari dua mode: otomatis atau manual. Ketika grup dalam mode otomatis, sistem alternatif akan secara otomatis memutuskan, ketika paket diinstal dan dihapus, apakah dan bagaimana memperbarui tautan Dalam mode manual, sistem alternatif tidak akan mengubah tautan; ia akan menyerahkan semua keputusan kepada administrator sistem. "
mpen
5

cara GUI

$ sudo apt-get install galternatives

$ sudo galternatives

lebih lanjut di sini: https://askubuntu.com/a/159594/216936

Alexander Sidikov Pfeif
sumber
1
@KevinBowen Ini menginstal aplikasi GUI.
WouterH
WouterH benar. debianadmin.com/... thx wouterH
Alexander Sidikov Pfeif