Membangun Aplikasi Java Dengan Maven (Bagian – 1)
Mengenal Maven, Instalasi dan integrasinya ke Eclipse IDE
Kala membangun sebuah aplikasi dengan menggunakan bahasa pemrograman Java, khususnya dalam dalam skala enterpise. Sudah tidak asing lagi jika seorang programmer harus berurusan dengan library – libray yang begitu banyaknya, misalkan library untuk framework web, spring, hibernate yang jumlahnya tidak sedikit. Memasukan satu persatu dan me-maintain library – library tersebut seiring waktu akan menjadi terasa membosankan dan membuang – buang waktu yang seharusnya bisa difokuskan pada proses pengembangan perangkat lunak.
Bayangkan kala seorang programmer menambahkan secara manual kedalam classpath sebuah library yang ternyata memiliki dependensi terhadap library lain yang juga memiliki dependensi lagi terhadap library lain dan seterusnya. Kondisi ini yang disebut sebagai jar hell.
Library yang begitu banyak ini akan memperlambat proses checkout dan commit suatu project ke dalam versioning control. Juga akan menghabiskan space hardisk. Jika ada lebih dari satu project yang memiliki dependensi library yang sama, maka programmer akan memiliki dua salinan library yang sama di tiap tiap project
Struktur Project Java
Ini belum lagi jika proses koding dilakukan bersama sebuah tim, dan masing – masing tim memiliki IDE favoritnya. Satu orang menggunakan NetBeans, yang lain menggunakan InteliJIDEA, sedangkan anda sendiri lebih nyaman menggunakan Eclipse. Masing – masing IDE biasanya memiliki struktur project aplikasi yang berbeda. Bagaimana menyatukan struktur project secara netral dari berbagai IDE tersebut?
Masalah yang tak kalah membosankan adalah bagaimana seorang programmer harus melakukan build project dan deploy secara berulang – ulang dan berpindah – pindah dari satu environment development ke environment yang lain (misalnya testing, SIT, UAT, hingga production).
Apache Maven
Apache Maven adalah tool yang berguna membantu seorang developer java mengatasi masalah – masalah tersebut. Maven sendiri berasal dari bahasa yahudi yang berarti “wadah pengetahuan”. Maven secara dinamis akan mengunduh library dan menyimpanya ke dalam cache local sehingga bisa digunakan untuk lebih dari satu project.
Diagram berikut mengilustrasikan manfaat penggunaan Maven dalam hal manajemen dependensi (bandingkan dengan pendekatan sebelumnya)
Sedangkan diagram berikut menggambarkan bagaimana maven berfungsi sebagai repositori lokal yang menyimpan salinan dari remote repository yang berada di internet. Programmer hanya perlu menuliskan dependensi yang dibutuhkan ke dalam file xml yang bernama pom.xml
Selain itu Maven juga menangani proses build dari project java, mulai dr konvensi struktur project hingga proses deployment ke repositori. Maven menawarkan konvensi dari struktur project java seperti diilustrasikan dalam tabel
Instalasi Maven.
Instalasi Maven dapat diunduh pada situs resminya. Klik disini untuk mengakses halaman download dari Apache Maven. Pilih yang berakhiran bin.zip. Setelah selesei diunduh, ekstrak dan copy ke direktori yang diinginkan.
Atur environment variables Windows dengan dengan konfigurasi sebagai berikut
- M2 : %M2_HOME%\bin
- M2_HOME : [direktori tempat instalasi maven, misal E:\apache-maven-3.1.1]
- JAVA_HOME : [direktori tempat instalasi JDK, misal C:\Program Files\Java\jdk1.7.0_67]
Kemudian restart komputer. Untuk memastikan apakah maven telah terinstall dengan benar ketikkan command mvn –version di cmd
secara default, maven akan menggunakan repositori (cache) lokal pada path
C:\Users\[user.windows]\.m2.
Untuk mengubahnya agar bisa diarahkan pada direktori yang dikehendaki. masuk pada M2_HOME\conf\settings.xml lalu ubah konfigurasi <localRepository>
menjadi misal
<localRepository>E:/apache-maven3.1.1/repository</localRepository>
Integrasi Maven ke Eclipse
Sebenarnya, Eclipse sendiri sudah dilengkapi Maven bawaan, namun penulis akan mengubahnya dengan maven eksternal yang telah diinstal pada tulisan ini. Pada Eclipse IDE, masuk ke pengaturan Maven melalui menu Preferences > Maven >Installation. Lalu tambahkan Maven Runtime dengan klik button Add sehingga jendela dialog berikut tampil.
Isikan Installation Home dengan tempat dimana direktori maven disimpan. (sama dengan parameter M2_HOME di environment variabel). Lalu klik Finish.
Pilih instalasi maven yang tadi ditambakan lalu klik Apply. Kemudian pada bagian User Settings pillih settings.xml yang digunakan. Gunakan setting pada maven eskternal yang telah di-instal
Kini maven telah terinstall di komputer dan diintegrasikan ke Eclipse IDE komputer anda, dan anda sepenuhnya telah siap membangun sebuah project java menggunakan Maven. Akan dibahas pada tulisan selanjutnya. cau.