Langsung ke konten utama

Pilihan Alternatif Java dan Symbolic Link yang Buntu

Pilihan Alternatif Java dan Symbolic Link yang Buntu


Ketika saya bermain-main dengan perintah update-alternative untuk menambahakan pilihan alternatif java, malah terjadi error.
sudo update-alternative --install /etc/alternatives/java java /opt/jdk1.8.0_77/bin/java
petanikode@imajinasi:~$ sudo update-alternatives --config java
update-alternatives: error: cannot stat file '/etc/alternatives/java': Too many levels of symbolic links
sudo rm /etc/alternatives/java
sudo ln -s /usr/lib/jvm/java-8-openjdk-amd64/bin/java /etc/alternatives/java
sudo update-alternative --remove java /opt/jdk1.8.0_77/bin/java
sudo update-aternative --config java
Hal ini disebabkan karena saya salah memasukkan symbolic link ketika menambahkan pilihan alternatif.
Berikut ini perintah salah yang menyebabkan masalah:
Perhatikan teks yang berwarna merah. Teks tersebut merupakan symbolic link yang berlokasi di /etc/alternatives.
Symbolic link yang seharusnya dimasukkan adalah /usr/bin/java.
Akibatnya, error:
Tidak dapat memilih alternatif java, karena symbolic link java yang berada di /etc/alternatives buntu (broken).
Berikut ini cara saya mengatasinya:
  1. Hapus symbolic link yang buntu tadi
  2. Buat symbolic link java dari JDK yang sudah terinstal
  3. Hapus pilihan alternatif yang menyebabkan error tadi
  4. Coba pilih alternatif lagi
Selanjutnya kita bisa tambahkan lagi alternatif java-nya dengan perintah yang benar. Silahkan baca caranya di: Cara Mengatasi JDK yang Lebih dari Satu di Linux.
Mengapa perintah yang salah di atas tadi bisa menyebabkan error?
Mungkin karna symbolic link yang ada di direktori /etc/alternatives/ adalah link yang dipakai untuk menyambungkan symbolic link /usr/bin/java dengan java di JDK-nya yang asli.
Berikut ini ilustrasi hubungan antar link dan file asli.
File java yang berada di dalam JDK pilihan alternatif merupakan file asli. Sedangkan, yang berada di luar adalah file link yang saling menyambung hingga ke file asli.
Ketika kita mengetik perintah java di terminal, file yang eksekusi adalah symbolic link yang berada di /usr/bin/java. File ini tersambung sampai ke file asli.

Komentar

Postingan populer dari blog ini

Apa Saja yang Baru di Java 11?

Apa Saja yang Baru di Java 11? Java 11 sudah dirilis pada tanggal 25 September 2018 kemarin. Banyak ‘pembersihan’ yang terjadi pada versi ini. Seperti: Java EE, CORBA, Java applets, dan Java FX sudah dihapus di dalam JDK  (Java Development Kit) .  1 Tapi tenang saja… mereka masih bisa  di-install dari repositori Mavan . Lalu… Apa saja fitur terbaru pada Java 11? dan apa saja yang akan dihapus? Sebelum kita migrasi atau  upgrade  ke Java 11, kita haurs tahu dua hal ini. Agar aplikasi yang kita bangun dengan Java, bisa berjalan dengan lancar. Mari kita bahas… Download & Install Java 11 Sebelum itu… jika kamu ingin mencoba Java 11, silahkan download JDK-nya:   Download OpenJDK 11   Download OracleJDK 11 Saya akan download OpenJDK 11 untuk Linux. Nanti kita akan mendapatkan sebuah file arsip  tar.gz . Setelah itu ekstrak ke tempat yang aman. Saya akan mengekstraknya ke direktori  ~/apps/ . Apa...

Menghitung Akar Kuadrat dan Akar Kubik dengan Java

Menghitung Akar Kuadrat dan Akar Kubik dengan Java Pada pelajaran Matematika, kadang kita sering menemukan perhitungan akar. Contoh, akar kuadrat dari  25  adalah  5 , karena  5x5=25 , bisa ditulis:  √ 25 = 5 25 = 5 . Lalu kalau akar kubik dari  27  adalah  3 , karena  3x3x3=27 , bisa ditulis:  3 √ 27 = 3 27 3 = 3 . Bagaimana cara kita membuat perhitungan tersebu di Java? Perhitungan akar kuadrat dapat dilakukan dengan fungsi  sqrt() . Fungsi ini terdapat dalam  class   Math . Jadi untuk menghitung akar seperti di atas dalam kode java dapat dilakukan dengan cara berikut ini: Math . sqrt ( 25 ) ; Fungsi tersebut akan menghasilkan:  5 Sementara itu untuk perhitungan akar kubik dapat dilakukan dengan fungsi  cbrt() . Contoh: Math . cbrt ( 27 ) ; Akan menghasilkan:  3 Contoh Penerapannya dalam Program Sekarang mari kita coba membuat program untuk menghitung rumus pitagoras. Rum...

Contoh Program OOP

Contoh Program OOP Kita akan menggunakan Netbeans, silahkan buat project baru. Isi nama project-nya dengan  “BelajarOOP”  dan jangan centang  “Create Main Class” . Setelah itu, silahkan buat  package  baru. Klik kanan pada  <default package> , lalu pilih  New->Java Package . Isi nama  package  dengan  “dasar” : Setelah itu, di dalam package  dasar , silahkan buat  class  baru bernama  Player.java . Klik kanan pada package  dasar  lalu pilih  New->Java Class . Setelah itu, isi namanya dengan  Player.java . Silahkan tulis kode pada  Player.java  seperti ini: package dasar ; public class Player { // definisi atribut String name ; int speed ; int healthPoin ; // definisi method run void run ( ) { System . out . println ( name + " is running..." ) ; System . out . println ( "Speed: " + speed ) ; ...