Topik ini memandu penyiapan lingkungan Apache Groovy di mesin lokal, mulai dari pemilihan JDK sampai perintah groovy dapat dipanggil dari terminal. Pembahasan meliputi kebutuhan versi, pemasangan melalui SDKMAN, dua alternatif berupa arsip biner dan Homebrew, struktur direktori hasil pemasangan, serta variabel lingkungan JAVA_HOME dan GROOVY_HOME. Setiap langkah disertai alasannya, dan skrip pemeriksaan di akhir membuktikan bahwa pemasangan berjalan sesuai harapan.
Kebutuhan JDK dan lini versi Groovy#
Groovy 5 dirancang untuk JDK 11 atau lebih baru, dan lini 5.x tidak mendukung JDK 8. JDK yang lebih baru seperti 17 dan 21 sepenuhnya sah dipakai, karena persyaratannya ditulis sebagai batas bawah, bukan sebagai satu-satunya versi yang didukung. Halaman unduhan resmi menyebut Groovy 5.1 sebagai versi stabil yang dirancang untuk JDK11+. Pastikan JDK yang terpasang sudah melewati batas bawah tersebut sebelum langkah pemasangan dijalankan.
Pemeriksaan versi dapat dimulai dari sisi JVM, lalu diulang dari sisi Groovy setelah pemasangan selesai. Skrip berikut mencetak versi runtime Groovy yang sedang berjalan beserta lini spesifikasi Java tempat skripnya dieksekusi, dan baris terakhirnya menyimpulkan apakah syarat minimum JDK 11 terpenuhi.
// Memeriksa versi Groovy dan JVM tempat skrip berjalan
println "Versi Groovy : ${GroovySystem.version}"
println "Spesifikasi Java : ${System.getProperty('java.specification.version')}"
def memenuhi = (System.getProperty('java.specification.version') as BigDecimal) >= 11
println "Syarat JDK 11 terpenuhi: $memenuhi"Versi Groovy : 5.1.3
Spesifikasi Java : 21
Syarat JDK 11 terpenuhi: trueNilai GroovySystem.version berasal dari kelas groovy.lang.GroovySystem yang menyimpan nomor versi runtime milik Groovy. Properti java.specification.version berbeda peruntukannya, yaitu melaporkan lini utama spesifikasi Java tanpa nomor pembaruan, sehingga nilai 21 akan tetap 21 pada setiap pembaruan JDK 21. Karena bentuknya teks, baris terakhir skrip mengubahnya ke BigDecimal agar perbandingan >= 11 berjalan secara numerik.
Rilis 6.0 memasuki tahap final pada 22 September 2026, sedangkan jalur ini mengajarkan lini 5.1 dan menandai perbedaan antarlini seperlunya pada topik yang terdampak. Lini 4.0 tetap dipelihara untuk JDK 8 dan menjadi fallback bagi lingkungan yang belum dapat menaikkan JDK-nya. Ketiga lini berdampingan, sehingga menetapkan pilihan lini lebih dahulu menghemat pemasangan ulang di kemudian hari.
Instalasi melalui SDKMAN#
SDKMAN adalah alat baris perintah open source untuk mengelola versi SDK (software development kit) di ekosistem JVM, yaitu paket perangkat lunak yang memuat runtime beserta alat pendukungnya. Alat ini dipasang per pengguna pada direktori home, menyimpan setiap versi kandidat secara terpisah, dan mengatur PATH secara otomatis. Penyimpanan per versi inilah yang membuat beberapa versi Groovy dapat berdampingan pada satu mesin dan bergantian dipakai.
Pemasangan Groovy melalui SDKMAN berlangsung dengan dua perintah.
# tidak-dijalankan
# pasang versi stabil terbaru Groovy melalui SDKMAN
sdk install groovy
# pastikan Groovy dapat dipanggil dan versinya sesuai
groovy --versionPerintah sdk install groovy mengunduh arsip resmi Groovy, mengekstraknya ke direktori kandidat milik SDKMAN, lalu menetapkannya sebagai versi default. Perintah groovy --version mencetak satu baris yang memuat empat komponen berurutan, yaitu versi Groovy, versi JVM yang dipakai, vendor JVM, dan sistem operasi. Pada lingkungan pengujian jalur ini, baris tersebut menunjukkan Groovy 5.1.3 di atas JVM 21.0.13 dengan vendor Debian pada sistem operasi Linux. Empat komponen itu mengikuti kondisi mesin yang dipakai, sehingga nilai pada mesin lain boleh berbeda tanpa berarti pemasangan keliru.
SDKMAN juga mengurus pergantian versi pada pemakaian sehari-hari. Perintah sdk list groovy menampilkan versi yang tersedia, sdk use groovy 5.1.3 memilih versi untuk sesi terminal yang sedang berjalan, dan sdk default groovy 5.1.3 menetapkan versi bawaan untuk sesi berikutnya. Pembaruan ke versi yang lebih baru dilakukan dengan sdk upgrade groovy.
Alternatif arsip biner dan Homebrew#
Mesin yang tidak memakai SDKMAN dapat memasang Groovy dari arsip biner yang dipublikasikan Apache pada server unduhannya. Arsip apache-groovy-binary-5.1.3.zip berisi runtime Groovy siap pakai, sedangkan arsip apache-groovy-sdk-5.1.3.zip menggabungkan kode sumber, arsip biner, dan dokumentasi dalam satu paket. Prosedurnya tiga langkah, yaitu mengunduh, mengekstrak, lalu mendaftarkan folder bin hasil ekstraksi ke PATH.
# tidak-dijalankan
# unduh arsip biner Groovy 5.1.3 dari server unduhan Apache
curl -LO https://downloads.apache.org/groovy/5.1.3/distribution/apache-groovy-binary-5.1.3.zip
# ekstrak arsip ke direktori home
unzip apache-groovy-binary-5.1.3.zip -d "$HOME"
# daftarkan folder bin hasil ekstraksi ke PATH
export GROOVY_HOME="$HOME/groovy-5.1.3"
export PATH="$GROOVY_HOME/bin:$PATH"Kedua baris export di atas hanya berlaku untuk sesi terminal yang sedang berjalan. Agar tetap aktif pada sesi berikutnya, kedua baris itu ditempatkan pada berkas konfigurasi shell seperti ~/.bashrc atau ~/.zshrc. Setelah terminal dimulai ulang, groovy --version seharusnya menampilkan versi 5.1.3 yang sama seperti pada bagian SDKMAN.
Di macOS, Homebrew menyediakan jalur yang lebih pendek. Formula groovy mengurus unduhan, penempatan binari, dan penautan perintah secara otomatis, sehingga pengaturan PATH manual tidak diperlukan.
# tidak-dijalankan
# pasang Groovy melalui Homebrew di macOS
brew install groovy
# pastikan hasil pemasangan dapat dipanggil
groovy --versionKetiga metode menghasilkan pemasangan yang setara karena semuanya bermuara pada satu direktori Groovy yang sama beserta folder bin-nya pada PATH. Pemilihannya lebih merupakan soal kebiasaan pengelolaan alat daripada soal hasil akhir. SDKMAN lazim dipilih ketika versi perlu sering bergantian, sedangkan arsip biner cocok untuk mesin yang aturannya membatasi alat pengelola pihak ketiga.
Struktur direktori pemasangan#
Apa pun metodenya, hasil pemasangan berupa satu direktori dengan tata letak yang sama, dan mengenali tata letak itu mempermudah pencarian berkas saat penyetelan. Direktori induknya bernama mengikuti versi yang dipasang, misalnya groovy-5.1.3, dan empat folder berikut adalah bagian yang paling sering disentuh.
| Folder | Isi | Peran |
|---|---|---|
bin | skrip peluncur seperti groovy, groovyc, groovysh, groovyConsole, dan grape | pintu masuk seluruh perintah Groovy dari terminal |
lib | berkas jar, di antaranya groovy-5.1.3.jar beserta pustaka pendamping | runtime yang dimuat JVM saat Groovy dijalankan |
conf | berkas groovy-starter.conf | konfigurasi awal classpath yang dibaca peluncur |
licenses | teks lisensi pustaka pendamping seperti ASM dan ANTLR | pemenuhan kewajiban lisensi pihak ketiga |
Skrip peluncur pada bin adalah shell script yang menyiapkan JVM, menyusun classpath, lalu memanggil kelas utama Groovy. Jar utamanya dinamai mengikuti versi yang dipasang, sehingga keberadaan groovy-5.1.3.jar sekaligus menjadi penanda versi pada folder lib. Berkas pada conf hanya satu, yaitu groovy-starter.conf, yang berisi daftar jar yang dimuat peluncur pada awal pemanggilan. Empat folder tersebut dilengkapi berkas LICENSE dan NOTICE pada akar direktori pemasangan.
Variabel lingkungan JAVA_HOME dan GROOVY_HOME#
JAVA_HOME adalah variabel lingkungan yang menunjuk akar instalasi JDK, yaitu direktori yang memuat folder bin berisi perintah java. Peluncur Groovy menyusun perintah JVM dari nilai ini, kira-kira $JAVA_HOME/bin/java, sehingga JVM yang menjalankan skrip Groovy mengikuti variabel tersebut. Bila JAVA_HOME kosong, peluncur berusaha menentukannya sendiri, misalnya dari lokasi perintah javac yang ditemukan pada PATH.
GROOVY_HOME menunjuk direktori pemasangan Groovy, dan peluncur menghitungnya sendiri dari lokasi skripnya bila variabel belum diatur. Nilai yang dihitung dipakai untuk membaca conf/groovy-starter.conf dan menyusun classpath dari jar pada lib. Menetapkan GROOVY_HOME secara eksplisit bukan kewajiban, tetapi pola NAMA_ALAT_HOME semacam ini dipakai luas di ekosistem JVM sehingga mengikutinya mempermudah alat lain menemukan pemasangan Groovy.
Karena JVM yang terpakai bergantung pada penunjukan JAVA_HOME dan PATH, pemeriksaan versi sebaiknya diulang dari sisi JVM tempat skrip berjalan. Dua properti berikut sering tertukar saat membaca hasilnya, yaitu java.version yang berisi versi implementasi JVM dan java.specification.version yang berisi lini utama spesifikasinya.
// Properti ini dibaca saat skrip berjalan, sehingga nilainya
// selalu mengikuti JVM yang dipilih peluncur
println "Versi implementasi : ${System.getProperty('java.version')}"
println "Versi spesifikasi : ${System.getProperty('java.specification.version')}"Versi implementasi : 21.0.13
Versi spesifikasi : 21Nilai 21.0.13 adalah versi implementasi yang berubah pada setiap pembaruan keamanan, sedangkan 21 sebagai lini spesifikasi tetap. Kalau baris pertama menunjukkan lini yang lebih tua dari yang diharapkan, misalnya JVM 11 yang terpakai padahal JDK 21 yang terpasang, penunjukan JAVA_HOME atau PATH perlu ditinjau ulang. Pemeriksaan kecil ini juga berguna setelah mengganti JDK, karena hasilnya selalu mencerminkan JVM yang benar-benar dipilih peluncur.
Kesalahan umum#
Kesalahan pertama terjadi ketika perintah groovy tidak ditemukan sesaat setelah pemasangan selesai. Terminal menampilkan pesan command not found ketika folder bin hasil pemasangan belum terdaftar pada PATH, atau ketika sesi terminal masih membawa konfigurasi lama. Perbaikannya terdiri atas dua langkah, yaitu memastikan baris export PATH berada pada berkas konfigurasi shell, lalu memulai ulang terminal agar berkas itu terbaca.
Kesalahan kedua adalah JAVA_HOME mengarah ke folder yang tidak memuat JVM, misalnya ke folder bin milik JDK alih-alih ke akarnya. Peluncur Groovy berhenti pada tahap awal dengan pesan error JAVA_HOME is not defined correctly, karena perintah java tidak ditemukan pada jalur yang disusun dari nilai variabel itu. Perbaikannya adalah mengarahkan JAVA_HOME ke akar JDK, yaitu direktori yang memuat folder bin.
Kesalahan ketiga adalah memasang Groovy pada mesin yang belum memiliki JDK sama sekali. Pemasangan Groovy sendiri berjalan mulus karena Groovy tidak membawa JVM, sedangkan pemanggilan pertama berhenti dengan pesan error yang menyebut JAVA_HOME dan javac. Perbaikannya berada di luar Groovy, yaitu memasang JDK 11 atau lebih baru sebagaimana syarat pada bagian kebutuhan JDK.
Ringkasan#
- Groovy 5 memerlukan JDK 11 atau lebih baru, lini 5.x tidak mendukung JDK 8, dan lini 4.0 dipelihara sebagai fallback untuk JDK 8.
- SDKMAN memasang Groovy dengan
sdk install groovy, sedangkan arsip biner Apache dan Homebrew memberikan dua alternatif yang menghasilkan pemasangan setara. - Direktori pemasangan memuat
binuntuk peluncur,libuntuk jar runtime,confuntuk konfigurasi awal, danlicensesuntuk teks lisensi pustaka pendamping. JAVA_HOMEmenunjuk akar JDK danGROOVY_HOMEmenunjuk direktori pemasangan Groovy, dan keduanya dipakai peluncur pada setiap pemanggilan.
Referensi#
- Install Groovy — Apache Groovy — panduan resmi pemasangan Groovy melalui SDKMAN, arsip biner, dan Homebrew.
- Download — Apache Groovy — halaman unduhan resmi yang memuat arsip biner, SDK, dan dokumentasi setiap rilis.
- SDKMAN! the Software Development Kit Manager — SDKMAN — alat baris perintah untuk memasang dan mengganti versi perangkat lunak ekosistem JVM.
- Groovy — Homebrew Formulae — formula Homebrew untuk Groovy beserta riwayat versinya.
- Apache Groovy 5.1.3 distribution — Apache Software Foundation — daftar arsip resmi rilis 5.1.3 pada server unduhan Apache.