Gentoo Logo

Panduan Java Gentoo

Daftar Isi:

1.  Apa itu Java?

Pendahuluan

Java merupakan sebuah bahasa pemrograman yang dikembangkan oleh para insinyur Sun Microsystems. Bahasa ini berorientasi objek dan dirancang untuk berjalan pada berbagai platform tanpa perlu mengkompilasi ulang kode untuk setiap platform. Walaupun Java dapat dikompilasi sebagai sebuah program asli, Java lebih terkenal karena portabilitasnya, juga beberapa fitur lain seperti pengumpulan sampah. Untuk mendapatkan independensi platform, compiler Java mengkompilasi kode Java ke sebuah perwakilan intermedit yang disebut "Java bytecode" yang berjalan di atas sebuah JRE (Java Runtime Environment) dan tidak langsung berjalan di atas sistem operasi.

Untuk menjalankan Java bytecode, kita perlu menginstal sebuah JRE (Java Runtime Environment). JRE menyediakan pustaka kode, Java Virtual Machine yang bergantung pada platform, plugin untuk browser, di antara yang lainnya. Sebuah JDK (Java Development Kit) menambahkan tool pemrograman, seperti compiler bytecode dan debugger.

2.  Sebelum Memulai

Instalasi yang telah ada

Untuk instalasi yang telah ada, tanpa memandang apakah anda telah menginstal paket Java sebelumnya, pastikan anda telah mengikuti Panduan Upgrade Java.

Instalasi baru

Instalasi baru tidak memerlukan persiapan lainnya.

3.  Menginstal Virtual Machine

Pilihan-pilihan

Gentoo menyediakan banyak Runtime Environment (JRE ) dan Development Kit (JDK). Di antara semua pilihan yang ada, kami memiliki:

Vendor JDK JRE
Java Kit Blackdown dev-java/blackdown-jdk dev-java/blackdown-jre
Java Kit Sun dev-java/sun-jdk dev-java/sun-jre-bin
Java Kit IBM dev-java/ibm-jdk-bin dev-java/ibm-jre-bin
J2SE Development Kit BEA WebLogic dev-java/jrockit-jdk-bin

Default untuk Java 1.4 adalah pasangan Blackdown JRE/JDK, karena tersedia bebas (gratis) tanpa pendaftaran.

JRE dan JDK dari Sun, IBM, dan BEA pada umumnya lebih kencang, tapi untuk mendapatkannya dibutuhkan kerja tambahan, karena anda diminta untuk membaca dan menyetujui lisensi mereka sebelum mendownloadnya (IBM meminta anda untuk mendaftarkan diri terlebih dahulu).

Instalasi JRE/JDK

Untuk menginstal JDK default profil anda, jalankan emerge virtual/jdk. Atau untuk menginstal JRE default profil anda, jalankan emerge virtual/jre.

Baru-baru ini, Sun telah mengganti lisensi JDK dan JRE dengan lisensi yang lebih bersahabat dengan distro Linux. Hasilnya, Sun meluncurkan Java 1.5 dan seterusnya yang dapat didownload bebas, tanpa kerumitan tambahan.

Catatan: Sebuah JDK juga berisi sebuah JRE, jadi jika anda menginstal JDK, anda tidak perlu lagi untuk menginstal JRE.

Instalasi Virtual Machine dengan proses download yang ketat

Seperti yang telah disebutkan di atas, ada beberapa JDK dan JRE yang mengharuskan anda untuk melewati beberapa rintangan sebelum menginstalnya. Emerge saja paket-paket tersebut seperti biasa. Anda akan mendapatkan petunjuk dari ebuild tentang cara dan tempat mendownloadnya.

Anda harus meletakkan file yang dibutuhkan di /usr/portage/distfiles. Setelah itu, anda dapat menjalankan kembali perintah emerge, maka JRE/JDK akan mulai diinstal.

4.  Konfigurasi virtual machine

Pendahuluan

Gentoo memiliki kemampuan untuk memiliki banyak JDK dan JRE tanpa mengakibatkan konflik.

Dengan menggunakan tool java-config, anda dapat menentukan default untuk sistem (dengan catatan anda memiliki akses root). Pengguna biasa juga dapat menggunakan java-config untuk menentukan default mereka masing-masing.

Catatan: Anda juga dapat menggunakan eselect untuk mengganti VM sistem dan user. Bacalah eselect java-vm help.

Menentukan virtual machine default

Dengan menjalankan perintah java-config --list-available-vms, anda akan mendapatkan sebuah daftar berisi semua JRE dan JDK yang terinstal di sistem anda. Berikut ini merupakan contoh output:

Daftar Kode 4.1: Menampilkan VM yang tersedia

# java-config --list-available-vms
The following VMs are available for generation-2:
1)      Blackdown JDK 1.4.2.03 [blackdown-jdk-1.4.2]
2)      Blackdown JRE 1.4.2.03 [blackdown-jre-1.4.2]
3)      Blackdown 32bit JRE 1.4.2.03 [emul-linux-x86-java-1.4.2]
4)      Sun 32bit JRE 1.5.0.08 [emul-linux-x86-java-1.5]
5)      Kaffe 1.1.7 [kaffe]
*)      Sun JDK 1.5.0.08 [sun-jdk-1.5]

Lambang * menandakan item tersebut adalah vm yang saat ini aktif (system-vm atau user-vm ketika diatur). Nama di dalam kurung ([]) merupakan handle atau ID untuk VM tersebut. Gunakan handle atau nomor untuk perintah java-config --set-system-vm. Berikut ini merupakan contoh cara menentukan VM sistem.

Daftar Kode 4.2: Menentukan VM Sistem

(Dengan handle (dianjurkan))
# java-config --set-system-vm blackdown-jdk-1.4
Sekarang menggunakan blackdown-jdk-1.4 sebagai JVM generation-2
(Dengan nomor)
# java-config --set-system-vm 6
Sekarang menggunakan sun-jdk-1.5 sebagai JVM generation-2

Sebagai user biasa, anda dapat menggunakan java-config --set-user-vm.

Catatan: Anda tidak perlu lagi melakukan source ke profil untuk menerapkan perubahan VM sistem/user.

VM yang dianjurkan

Ketika menginstal paket-paket Java, VM dapat dan akan ditukar sesuai dengan kebutuhan.

Karena banyaknya VM yang tersedia, kami tidak memiliki sumber daya untuk menguji dan memastikan bahwa setiap paket dapat bekerja dengan baik. Jadi untuk memastikan bahwa semua paket dapat diinstal dengan baik, kami telah membuat sebuah daftar VM default/yang didukung untuk setiap arsitektur. Anda dapat menemukannya di /usr/share/java-config-2/config/jdk-defaults.conf. Ketika anda menginstal paket Java, dan salah satu dari VM yang ada di dalam daftar tersebut terinstal, VM tersebut akan langsung digunakan, bukan VM sistem.

Perpindahan VM ketika instalasi juga dibutuhkan ketika, misalnya, VM sistem anda menggunakan 1.4 dan paket yang sedang anda instal membutuhkan VM 1.5. Selama instalasi, VM 1.5 akan digunakan, tanpa menyentuh VM sistem anda.

Tentunya, Gentoo menawarkan banyak pilihan, jadi anda dapat mengganti default-default ini di /etc/java-config-2/build/jdk.conf dan memiliki kendali penuh atas VM yang akan digunakan. Beberapa contoh:

Daftar Kode 4.3: Contoh /etc/java-config-2/build/jdk.conf

(Penulis selalu ingin menggunakan sun-jdk, mis. sun-jdk-1.4 untuk 1.4, sun-jdk-1.5 untuk 1.5, dll)
*=sun-jdk

Daftar Kode 4.4: Contoh /etc/java-config-2/build/jdk.conf

(Selalu menggunakan sun-jdk-1.5 jika dimungkinkan, kecuali ketika VM 1.4 atau 1.3 diperlukan secara eksplisit)
*=sun-jdk-1.5

Daftar Kode 4.5: Contoh /etc/java-config-2/build/jdk.conf

# Untuk 1.3 penulis menggunakan sun-jdk 1.4 tetapi jika tidak tersedia, menggunakan ibm-jdk-bin,
# Untuk 1.4, gunakan blackdown-jdk, dan untuk 1.5, gunakan sun-jdk 
1.3=sun-jdk-1.4 ibm-jdk-bin
1.4=blackdown-jdk
1.5=sun-jdk

Peringatan: Anda tidak perlu mengedit file ini. Jika anda mengganti opsi-opsi ini untuk menggunakan VM yang tidak didukung, kemungkinan sistem anda akan rusak. Laporan bug untuk VM yang tidak didukung tidak akan diprioritaskan seperti laporan bug dengan VM yang didukung.

5.  Compiler

Compiler Java standar yang digunakan untuk kompilasi adalah javac, yang dimiliki oleh setiap JDK. Sebagai tambahan konfigurasi VM yang digunakan ketika kompilasi, anda juga dapat menentukan compiler mana yang ingin anda gunakan. Pada dasarnya, anda hanya perlu mendaftarkan urutan compiler yang ingin anda gunakan di /etc/java-config-2/build/compilers.conf.

Daftar Kode 5.1: /etc/java-config-2/build/compilers.conf

# Jika ebuild mendukungnya
# variabel COMPILERS akan diperiksa dari depan ke belakang lalu
# compiler pertama yang terinstal akan digunakan

COMPILERS="ecj-3.1 jikes javac"

Beberapa compiler tidak mendukung semua argumen -target dan -source yang dimungkinkan. Untuk itu, setiap compiler yang ada di dalam daftar akan diperiksa apakah compiler tersebut dapat mendukung -source/-target yang diperlukan. Pada kebanyakan kasus javac dapat digunakan, jadi jika tidak ada compiler lain yang cocok ditemukan, javac akan digunakan.

Berikut ini adalah rincian dari setiap compiler:

Nama Handle Paket Penjelasan
javac javac Tidak tersedia Ini merupakan compiler default yang akan digunakan, tersedia pada setiap JDK.
jikes jikes dev-java/jikes Jikes pada awalnya dikembangkan oleh IBM. Secara anekdot, jikes lebih kencang dari javac. Namun perlu dicatat bahwa jikes lebih sewot, dan akan gagal pada beberapa keadaan di mana javac tidak mengalami masalah apapun. jikes juga belum mendukung sintaks Java 1.5.
Eclipse Compiler for Java ecj-3.1 =dev-java/eclipse-ecj-3.1* ECJ merupakan compiler yang digunakan oleh Eclipse software development kit. ECJ memiliki banyak fitur, dan sangat kencang, mendukung sintaks Java 1.5.

6.  Menentukan CLASSPATH default

Peringatan: Opsi-opsi yang dijelaskan pada seksi ini harus dianggap usang dan kemungkinan besar akan dibuang di masa yang akan datang. Kami sangat menganjurkan anda untuk tidak menggunakan opsi-opsi ini, karena proyek-proyek atau aplikasi Java anda idealnya harus mengatur calsspath-nya sendiri. Jika anda memilih untuk menentukan CLASSPATH default, beberapa aplikasi mungkin akan bertingkah aneh, karena class yang tidak diharapkannya terdapat pada classpath.

java-config juga dapat digunakan untuk menentukan CLASSPATH sistem dan CLASSPATH user.

Pertama, anda perlu menampilkan pustaka Java yang terinstal di sistem anda yang mungkin ingin anda letakkan di CLASSPATH anda. Berikut ini merupakan contoh output:

Daftar Kode 6.1: Menampilkan class

# java-config --list-available-packages
[xerces-2] The next generation of high performance, fully compliant XML parsers in the Apache Xerces family (/usr/share/xerces-2/package.env)
[junit] Simple framework to write repeatable tests (/usr/share/junit/package.env)
[bsh] BeanShell: A small embeddable Java source interpreter (/usr/share/bsh/package.env)
[bcel] The Byte Code Engineering Library: analyze, create, manipulate Java class files (/usr/share/bcel/package.env)
[log4j] A low-overhead robust logging package for Java (/usr/share/log4j/package.env)
...

Lagi-lagi, nama di dalam kurung ([]) merupakan ID yang harus anda berikan ke perintah java-config --set-system-classpath. Berikut ini merupakan contoh:

Daftar Kode 6.2: Menentukan classpath

# java-config --set-system-classpath log4j,xerces-2

Catatan: Direktori saat ini (.) tidak akan menjadi bagian dari classpath sistem, karena seharusnya ditambahkan ke profil login sistem anda.

Anda perlu memperbarui lingkungan anda dengan cara logout, kemudian login kembali atau dengan men-source /etc/profile.

Untuk user, java-config --set-user-classpath akan menciptakan ~/.gentoo/java-env-classpath, yang kemudian perlu anda tambahkan sebagai source di profil shell anda.

Daftar Kode 6.3: Men-source classpath khusus user

if [[ -f "${HOME}/.gentoo/java-env-classpath" ]]; then
       source ${HOME}/.gentoo/java-env-classpath
fi

Jika anda benar-benar menginginkan classpath default untuk sistem atau user, anda dapat menambahkan sesuatu seperti berikut ini di profil shell anda. Tetapi kami menganjurkan untuk tidak menggunakannya.

Daftar Kode 6.4: Menentukan classpath

# export CLASSPATH="${CLASSPATH}:$(java-config --classpath log4j,xerces-2)"

7.  Plugin Java untuk Browser

Instalasi plugin

Anda dapat menginstal plugin Java untuk browser web dengan meng-emerge VM Java dengan dukungan flag USE nsplugin.

Catatan: nsplugin tidak tersedia untuk semua arsitektur. Periksalah plugin yang tersedia untuk arsitektur anda sebelum mencoba untuk menginstal sebuah VM dengan menjalankan emerge -pv <java-vm>.

Portage akan mengijinkan anda untuk menginstal banyak versi plugin Java, walaupun hanya satu yang akan digunakan oleh browser anda. Anda dapat memeriksa daftar plugin yang tersedia dengan menjalankan:

Daftar Kode 7.1: Melihat plugin yang tersedia

# eselect java-nsplugin list
   [1]   sun-jre-bin-1.5
   [2]   blackdown-jre-1.4.2

Pada contoh berikut ini, sun-jre-bin dipilih untuk plugin browser.

Daftar Kode 7.2: Memilih plugin

# eselect java-nsplugin set sun-jre-bin-1.5

Periksa kembali apakah plugin yang benar telah dipilih:

Daftar Kode 7.3: Memeriksa plugin

# eselect java-nsplugin list
   [1]   sun-jre-bin-1.5  current
   [2]   blackdown-jre-1.4.2

Java.com juga menyediakan link untuk memeriksa plugin anda yang telah terinstal. Sebagai tambahan, jika anda menggunakan borwser berbasis Mozilla, anda dapat memeriksa plugin Java anda dengan mengetikkan about:plugins di kolom alamat.

Plugin pada sistem multilib

Jika anda menggunakan sistem multilib campuran 64-bit dan 32-bit (mis. pada AMD64), anda hanya dapat menggunakan plugin 32-bit.

Untuk menggunakan plugin 32-bit, anda perlu meng-emerge emul-linux-x86-java dengan sebelumnya mengaktifkan flag USE nsplugin.

Daftar Kode 7.4: Installing a 32-bit plugin

# echo "app-emulation/emul-linux-x86-java nsplugin" >> /etc/portage/package.use
# emerge emul-linux-x86-java

Kemudian, periksa plugin apa saja yang tersedia:

Daftar Kode 7.5: Melihat plugin yang tersedia

# eselect java-nsplugin list
Available 32-bit Java browser plugins
  [1]   emul-linux-x86-java-1.4.2
  [2]   emul-linux-x86-java-1.5

Walaupun anda harus menggunakan browser 32-bit (seperti mozilla-firefox-bin) untuk digunakan dengan plugin 32-bit, versi 64-bit dari konqueror menggunakan VM Java anda secara langsung, jadi anda mendapatkan pilihan untuk menggunakan versi 64-bit dari blackdown dengan browser ini; dan anda tidak perlu melakukan konfigurasi tambahan.

Sekarang pilih untuk browser 32-bit anda:

Daftar Kode 7.6: Memilih plugin

# eselect java-nsplugin set 32bit emul-linux-x86-java-1.5

Periksa kembali apakah plugin yang benar telah dipilih:

Daftar Kode 7.7: Memeriksa plugin

# eselect java-nsplugin list
Available 32-bit Java browser plugins
  [1]   emul-linux-x86-java-1.4.2
  [2]   emul-linux-x86-java-1.5   current

8.  Flag-flag USE untuk digunakan dengan Java

Pengaturan Flag-flag USE

Untuk info lebih lanjut tentang flag-flag use, silakan merujuk bagian Flag-flag USE dari Buku Pegangan Gentoo.

Flag-flag

  • Flag java menambahkan dukungan untuk Java pada berbagai program
  • Flag nsplugin menambahkan dukungan untuk browser mirip Mozilla (termasuk Firefox). Anda memerlukan ini untuk melihat applet Java pada browser mirip Mozilla anda.
  • Flag source menginstal file zip dari source code paket. Biasanya ini digunakan oleh IDE untuk meng-'attach' source ke pustaka yang anda gunakan.
  • Flag jce menambahkan dukungan untuk Java Cryptography Engine
  • Untuk paket-paket Java, flag doc akan membangun dokumentasi API dengan menggunakan javadoc.

9.  Sumber-sumber tambahan

Sumber-sumber off-line

  • Manual java-config
  • java-config --help

Sumber-sumber online



Print

Diperbarui 1 Januari 2008

Versi asli dari dokumen ini terakhir diupdate 15 November 2011

Rangkuman: Panduan ini akan memperkenalkan anda dengan Java dan menjelaskan cara menggunakannya dengan Gentoo Linux.

Joshua Nichols
Author

Karl Trygve Kalleberg
Author

Joshua Saddler
Editor

Dzikri Aziz
Translator

Donate to support our development efforts.

Copyright 2001-2012 Gentoo Foundation, Inc. Questions, Comments? Contact us.