Membuat Java Project dengan Maven

[T]ulisan ini meneruskan tulisan yang sudah lama sekali saya tulis di sini mengenai sebuah tools yang bernama Maven. Pada blog post ini pembaca akan belajar bagaimana membuat sebuah Java Project menggunakan Maven kemudian membukanya pada Netbeans dan mem-package-nya menjadi sebuah jar.

Maven

Tool yang Digunakan


Tool yang saya gunakan adalah sebagai berikut:
1. Maven 3.0.5
2. JDK 1.6
3. Netbeans IDE 7.3

Tentu pembaca bisa menyesuaikannya, beda versi gak masalah.

Membuat Java Project


Buka terminal (linux) atau command prompt (windows) dan arahkan ke folder tempat Anda ingin menyimpan folder project Maven. Kalau saya , saya letakkan pada folder “Netbeans Project” yang khusus berisi project-project Java, biar tidak tercecer. Setelah itu ketikkan perintah berikut dalam satu baris

mvn archetype:generate -DgroupId={nama-package} -DartifactId={nama-project}
-DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

Perintah di atas akan men-generate sebuah Java Project menggunakan template “maven-archetype-quickstart“. Ada banyak pilihan template, silahkan hilangkan parameter “archetypeArtifactId” untuk melihat sodoran bermacan-macam template yang ada.

Contoh :

C:\Users\blinkawan\Documents\NetBeansProjects>mvn archetype:generate
-DgroupId=com.agungsetiawan
-DartifactId=belajar-maven
-DinteractiveMode=false

[INFO] Scanning for projects…
[INFO]
[INFO] ————————————————————————
[INFO] Building Maven Stub Project (No POM) 1
[INFO] ————————————————————————
[INFO]
[INFO] >>> maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom >>>
[INFO]
[INFO] <<< maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom <<< [INFO] [INFO] --- maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom --- [INFO] Generating project in Batch mode [INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.archetypes:mave n-archetype-quickstart:1.0) [INFO] ---------------------------------------------------------------------------- [INFO] Using following parameters for creating project from Old (1.x) Archetype: maven-archetyp e-quickstart:1.0 [INFO] ---------------------------------------------------------------------------- [INFO] Parameter: groupId, Value: com.agungsetiawan [INFO] Parameter: packageName, Value: com.agungsetiawan [INFO] Parameter: package, Value: com.agungsetiawan [INFO] Parameter: artifactId, Value: belajar-maven [INFO] Parameter: basedir, Value: C:\Users\blinkawan\Documents\NetBeansProjects [INFO] Parameter: version, Value: 1.0-SNAPSHOT [INFO] project created from Old (1.x) Archetype in dir: C:\Users\blinkawan\Documents\NetBeansPr ojects\belajar-maven [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 13.968s [INFO] Finished at: Thu Jan 23 22:04:32 ICT 2014 [INFO] Final Memory: 7M/25M [INFO] ------------------------------------------------------------------------

Dari perintah di atas maka nama project adalah “belajar-maven” sedangkan package-nya adalah “com.agungsetiawan“. Perintah tadi otomatis men-generate beberapa folder dan file yang bisa dilihat pada bagian selanjutnya.

Struktur Folder Maven


Maven memiliki struktur folder sendiri yang bersifat standar, artinya ya harus seperti itu susunannya. Berikut merupakan struktur project Maven yang baru saja di-generate.

belajar-maven
|-src
|—main
|—–java
|——-com
|———agungsetiawan
|———–App.java
|—test
|—–java
|——-com
|———agungsetiawan
|———–AppTest.java
|-pom.xml

File source code diletakkan pada src/main/java/com/agungsetiawan sedangkan src/test/java/com/agungsetiawan digunakan untuk meletakkan kode unit test. Lebih lengkap mengenai stuktur folder silahkan baca di sini.

Selain men-generate folder dan file java, Maven juga membuat sebuah file “pom.xml” yang berisi informasi project serta plugin dan dependency yang digunakan.

File pom.xml di atas masih sangat minimalis. Nanti kita tambahkan sesuatu padanya.

Bekerja dengan Netbeans


Ngoding menjadi jauh lebih mudah dengan bantuan IDE daripada sekadar menggunakan text editor. Project Java yang tadi dibuat menggunakan Maven perlu dibuka pada IDE untuk bisa dikerjakan. Dalam kasus ini saya menggunakan Netbeans (Eclipse tidak terlalu jauh caranya).

Netbeans memiliki dukungan yang sangat baik terhadap Maven. Untuk membuka project Maven pada Netbeans langsung saja “File->Open Project” dan arahkan ke tempat Anda menaruh folder project Maven.

project

stuktur folder

Update POM


File pom.xml yang di-generate masih sangat sederhana. Kita perlu menambahkan satu plugin compiler untuk membuat Maven mengerti JDK versi berapa yang digunakan sebagai compiler.

Selain itu, versi JUnit yang default adalah 3.8.1. Ubah menjadi versi terbaru saat ini yaitu 4.11

Kode Xml di atas disebut “Maven Coordinate“. Misal kita ingin menambahkan jar library MySql Connector pada project yang sedang kita kerjakan, maka kita harus menambahkan Maven Coordinate yang sesuai pada pom.xml bukan dengan menambahkan file jar langsung ke dalam folder project seperti pada project yang dibuat menggunakan Netbeans.

Terus bagaimana cara mengetahui Maven Coordinate dari tiap library?. Gunakan mvnrepository.com/

File pom.xml lengkap setelah diubah menjadi seperti ini

Update Kode Java


Kode java dan unit test yang di-generate pun sangat sederhana. Mari kita ubah.

Ubah kode Java menjadi seperti ini

Dan kode unit test menjadi seperti ini

Jika ingin mengeksekusi kode unit test ketik perintah berikut pada root folder project

mvn test

Maven Packaging


Selanjutnya kita akan membuat project java menjadi sebuah file jar menggunakan Maven. Perhatikan pada file pom.xml bahwa di sana terdapat setingan untuk mengatur format packaging yang diinginkan.

Pada terminal ketikkan perintah

mvn package

Perintah di atas melakukan proses compile, menjalankan unit test serta membuat file jar dari project. Cek pada folder project maka sekarang didalamnya terdapat folder “target” yang berisi file jar project.

Demo


Jalankan file jar tadi

C:\…\belajar-maven>java -cp target/belajar-maven-1.0-SNAPSHOT.jar com.agungsetiawan.App
Panjang dari Selamat Belajar Maven adalah 21

Semoga mudah dimengerti dan bermanfaat 🙂
Tulisan selanjutnya membahas membuat project web menggunakan Maven

[followme]

Facebook Comments
 

Agung Setiawan

Agung Setiawan adalah software engineer di BukaLapak.com, penulis sekaligus pecinta sastra, dan pembaca buku

 
Halo, perkenalkan saya Agung Setiawan.
Saya Software Engineer di BukaLapak.
Simak pemikian saya soal dunia Software Engineering via Twitter di @agungsetiawanmu dan facebook
Blog ini saya update seminggu sekali jadi sering-sering saja mampir
Mau belajar Vim bareng saya?
Belajar ngoding dari nol menggunakan PHP

3 thoughts on “Membuat Java Project dengan Maven

  1. Bagus sekali. Tapi saya mau tanya bagaimana menghasilkan jar file dari matrix-toolkits-java dan netlib-java dg menggunakan maven. Saya coba sendiri utk netlib-java error terus. Saya cuma butuh library mtj.jar utk dipakai di program FEM saya. kemarin mtj-nya sempat bisa tapi waktu calling method Matrix.multAdd malah keluar javaclassdefnotfound.
    Bingung saya kalau sudah manual configure gini. Saya tahunya cuma make’ : )

    1. Saya kira perlu menambahkan dependency mtj.jar nya di pom.xml maven nya mas Rudhy, misalnya seperti ini:

      com.googlecode.matrix-toolkits-java
      mtj
      1.0.1

  2. Saya kira perlu menambahkan dependency mtj.jar nya di pom.xml maven nya mas Rudhy, misalnya seperti ini:

Leave a Reply

Your email address will not be published. Required fields are marked *