Cara mengatur versi Java default

8

Saya telah menggunakan Java 6 pada Ubuntu 11.10, tetapi sekarang saya ingin memperbarui ke versi 7. Saya telah menginstal versi 7 melalui PPA seperti dijelaskan di sini . Jika saya lari

sudo update-alternatives --config java

Saya mendapatkan output berikut:

There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                     Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-7-oracle/jre/bin/java   64        auto mode
  1            /usr/lib/jvm/java-6-sun/jre/bin/java      63        manual mode
* 2            /usr/lib/jvm/java-7-oracle/jre/bin/java   64        manual mode

Demikian pula, jika saya menjalankan:

sudo update-alternatives --config javac

Saya mendapatkan output:

  Selection    Path                                  Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-7-oracle/bin/javac   64        auto mode
  1            /usr/lib/jvm/java-6-sun/bin/javac      63        manual mode
* 2            /usr/lib/jvm/java-7-oracle/bin/javac   64        manual mode

Jadi sepertinya versi 7 sudah default. Tetapi jika saya menjalankan keduanya

java -version

atau

javac -version

Output menunjukkan bahwa versi 6 masih standar. Bagaimana saya bisa mengatur default ke versi 7?

Dónal
sumber
Lihatlah Java
Mitch
@Mitch terima kasih, tetapi hanya mengatakan untuk menggunakan update-alternatives, yang sudah saya coba
DONal
Apakah Anda sudo apt-get install oracle-java7-set-defaultdan reboot ?
Eliran Malka
1
FYI, 11.10 adalah Akhir Kehidupan.
Thomas Ward

Jawaban:

4

Sesuai jawaban ini: Bagaimana cara mengatur versi Java default?

Coba sediakan jalur eksplisit bersama dengan update-alternatives --installpertama, lalu jalankan update-alternativesuntuk membuat pilihan Anda:

sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/java-7-oracle/jre/bin/java" 1

sudo update-alternatives --config java

sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/java-7-oracle/bin/javac" 1

sudo update-alternatives --config javac
Harun
sumber
3

Anda perlu mengatur javacjuga.

sudo update-alternatives --config javac
Paradiesstaub
sumber
1

Saya memiliki masalah yang sama. Saya telah menginstal sun jdk6. Setelah

    sudo update-alternatives --config java
    sudo update-alternatives --config javac
    sudo update-alternatives --config javaws

restart diperlukan untuk saya. Daripada berhasil.

Sunting: Saya menyadari itu tidak cukup untuk melakukan langkah-langkah di atas.

Saya juga harus mengedit variabel lingkungan:

    sudo nano /etc/environment

Dan tambahkan (versi java yang berbeda akan membutuhkan string yang berbeda):

    JAVA_HOME="/usr/lib/jvm/java-7-openjdk-amd64"
Chris S
sumber
0

masukkan nomor yang mengidentifikasi jalur yang Anda inginkan dan tekan enter. dalam hal ini masukkan 1.

akhirnya, cobalah untuk menguji versinya java -version

obysr
sumber
Saya ingin versi 7, bukan 6. Output yang update-alternativesmenunjukkan bahwa saya sudah menggunakan versi 7, tetapi java -versionmenunjukkan bahwa saya masih menggunakan versi 6.
Dónal
0

Saya kira biner java Anda menunjuk ke suatu tempat selain /etc/alternatives/java.

Periksa output dari: type java

Apa katanya /usr/bin/java? Jika demikian, periksa apakah itu menunjuk dengan benar ke alternatif:

ls -l /usr/bin/javaharus menunjukkannya menunjuk /etc/alternatives/java.

Terakhir mengkonfirmasi bahwa /etc/alternatives/javadirinya menunjuk ke java-7:
ls -l /etc/alternatives/java.

Perintah pembaruan-alternatif hanya menyesuaikan yang terakhir dan mengasumsikan bahwa titik default /usr/bin/javayang pada gilirannya ditautkan dengan benar /etc/alternatives/java.

Sumwale
sumber
0

Saya mencoba hampir setiap metode yang tercantum di atas, tetapi masih menemukan java -version mencetak versi yang salah sementara ls -al /etc/alternatives/javasudah menunjuk ke yang benar.

Jadi saya jalankan: which java dan menemukan bahwa hasilnya menunjukkan bahwa saya menggunakan java dari /usr/local/jdk_xxx/bin/java, kemudian saya menghapus folder ini dan me-restart terminal. Sekarang java berfungsi dengan baik.

Semoga ini bisa membantu orang lain.

Xinjing
sumber