About Me

Minggu, 28 Februari 2016

Unknown

Membuat Java Project Maven

Membuat Java Project 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.

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 sedangkansrc/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?. Gunakanmvnrepository.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.
[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.

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 sedangkansrc/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?. Gunakanmvnrepository.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.

Unknown

About Unknown -

Author Description here.. Nulla sagittis convallis. Curabitur consequat. Quisque metus enim, venenatis fermentum, mollis in, porta et, nibh. Duis vulputate elit in elit. Mauris dictum libero id justo.

Subscribe to this Blog via Email :