Panduan Java Gentoo
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 |
# java-config --set-system-vm blackdown-jdk-1.4
Sekarang menggunakan blackdown-jdk-1.4 sebagai JVM generation-2
# 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 |
*=sun-jdk
|
Daftar Kode 4.4: Contoh /etc/java-config-2/build/jdk.conf |
*=sun-jdk-1.5
|
Daftar Kode 4.5: Contoh /etc/java-config-2/build/jdk.conf |
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
Isi dokumen ini dilisensikan dengan lisensi Creative Commons -
Attribution / Share Alike.
|