Biasanya untuk membuat aplikasi di Java dengan IDE seperti Netbeans atau Eclipse adalah dengan cara membuat project langsung di IDE tersebut dengan struktur project default sesuai dengan yang IDE tersebut telah tentukan. Artinya ketika misalkan create project di Netbans, maka project tersebut hanya bisa dibaca di Netbeans saja begitupun kalau createnya di Eclipse. Lalu bagaimana jika beberapa programmer bekerja bersama-sama dan programmer-programmer tersebut terbiasa menggunakan IDE yang berbeda? Salah satu solusinya adalah dengan menggunakan Build Tools. Ada banyak Build Tools yang tersedia. Listnya bisa dilihat disini. Salah satu dari List of Build Tools tersebut yang cukup populer adalah Apache Maven.
Apache Maven adalah Java Build Tools yang menggunakan konsep Project Object Model (POM). POM tersebut berisi informasi dan konfigurasi yang digunakan Maven untuk membuat project. Pada dasarnya POM adalah sebuath XML File yang terdapat di dalam project Maven dan di dalam File inilah konfigurasi dari project kita berada.
Ada banyak keunggulan dari penggunakan Maven ini, diantaranya adalah Maven membuat struktur project sendiri sehingga project tersebut akan dapat dibuka dengan berbagai IDE dikarenakan Maven mendefinisikan projectnya sendiri. Selain itu memanage Dependency dengan Maven menjadi mudah. Biasanya dalam mendevelop aplikasi Java membutuhkan File Jar dari luar default jar yang tersedia pada JDK yang berisi Class-class untuk kemudian kita panggil. Artinya aplikasi kita dependent terhadap Class-class tersebut. Class-class tersebut pun terkadang dependent terhadap Class lain diluar jar packagenya. Dengan Maven hanya tinggal definisikan saja di File POM.xml dependency nya maka Maven akan otomatis mendownload file-file jar tersebut ke Repository sehingga dapat kita gunakan. Hal tersebut berbeda dengan mengimport File Jar secara manual yang biasanya digunakan jika mencreate project langsung dari IDE. File-file jar hasil download tersebut dapat dilihat di Folder (On Windows) Users\NamaUser\.m2\repository. Dalam Folder tersebut terdapat Folder-folder yang berisi file jar yang kita download beserta file-file lainnya.
Nah, untuk dapat mengimplementasikan pembuatan project dengan Maven, langkahnya adalah sebagai berikut :
Sebelumnya install dulu Mavennya itu sendiri. Cara-caranya dapat dilihat disini.
Jika sudah selesai install, buka command prompt kemudian masuk ke path dimana kita akan mencreate project tersebut. Setelah itu masukan command untuk men generate project Maven seperti berikut :
Lalu tekan tombol Enter dan Maven akan men generate project sesuai dengan konfigurasi yang kita definisikan.
Jika sukses, maka akan muncul tulisan ‘BUILD SUCCESS’ yang menandakan bahwa Maven sukses men generate project tersebut.
Lalu masuk ke directory project tersebut untuk melihat struktur dari project yang telah kita buat. Directory project tersebut di definisikan dengan perintah -DartifactId yang telah kita definisikan sebelumnya. Di dalam Folder tersebut dapat dilihat ada sebuah folder bernama ‘src’ dan sebuah file POM.xml. di dalam folder src terdapat 2 subfolder yaitu main dan test. Folder src dapat diartikan sebagai Folder source yang berisi source code yang akan kita buat. Sedangkan file POM.xml merupakan file konfigurasi dari project kita. Disanalah kita mengatur konfigurasi aplikasi seperti misalkan menentukan application packagingnya dalam bentuk apa, ataupun menambahkan Dependencies sesuai dengan kebutuhan aplikasi. Di dalam folder src terdapat 2 subfolder yaitu main dan test yang mana folder main adalah folder source utama kita dan test adalah source code untuk keperluan test saja. Didalam folder main dan test tersebut berisi subfolder atau package-package dari project kita. Package tadi sesuai dengan yang telah definisikan dengan menuliskan command -DgroupId yang artinya command tersebut akan men generate project sesuai dengan value yang kita definisikan didalamnya. Lalu secara default Maven akan membuat sebuah file dengan nama App.java yang didalamnya berisi method main.
Langkah terakhir adalah dengan mencoba menjalankan method main tersebut. Masuk ke command prompt lalu masuk ke directory project yang telah kita buat. Setelah itu ketikan command mvn package untuk membuat packaging dari aplikasi kita tersebut. Setelah mengeksekusi command tersebut maka akan tercreate suatu folder bernama target yang di dalamnya berisi packaging file seperti jar dan dapat di execute.
Packaging untuk aplikasi desktop adalah .jar sedangkan untuk web adalah .war. Lalu jalankan file tersebut dengan cara memasukan command java -cp target/test-project-maven-1.0-SNAPSHOT.jar com.medium.acepabdurohman.test.App.
Jika muncul output seperti diatas maka Selamat ! anda dapat membuat Java Application Project dengan Maven :).
Kesimpulannya, Maven ini sangat membantu programmer dalam pembuatan aplikasi Java sehingga programmer hanya perlu fokus dalam coding tanpa pusing memikirkan konfigurasi project.
Reference :
https://maven.apache.org/guides/getting-started/maven-in-five-minutes.html
https://www.mkyong.com/maven/how-to-install-maven-in-windows/
https://medium.com/@acep.abdurohman90/mengenal-maven-sebagai-java-build-tools-5ba752f75812