Minggu, 28 Februari 2016

Web Project Menggunakan Maven

Tool yang digunakan


Beberapa tool yang diperlukan untuk mengikuti tutorial ini :
1. Maven 3.0.5
2. JDK 1.6
3. Netbeans 7.3

Membuat Web 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-webapp -DinteractiveMode=false
Perintah di atas akan men-generate sebuah Java Project menggunakan template “maven-archetype-webapp“. Ada banyak pilihan template, silahkan hilangkan parameter “archetypeArtifactId” untuk melihat sodoran bermacan-macam template yang ada.
Contoh :
C:\….\NetBeansProjects>mvn archetype:generate
-DgroupId=com.agungsetiawan -DartifactId=belajar-maven-webapp
-DarchetypeArtifactId=maven-archetype-webapp
-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] ---------------------------------------------------------------------------- [INFO] Using following parameters for creating project from Old (1.x) Archetype: maven-archetyp e-webapp: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-webapp [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-webapp [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 20.750s [INFO] Finished at: Fri Jan 24 18:08:34 ICT 2014 [INFO] Final Memory: 7M/24M [INFO] ------------------------------------------------------------------------
Dari perintah di atas maka nama project adalah “belajar-maven-webapp” sedangkan package-nya adalah “com.agungsetiawan“. Perintah tadi otomatis men-generate beberapa folder dan file yang bisa dilihat pada bagian selanjutnya.

Struktur Folder Web Maven


Maven memiliki struktur folder sendiri yang bersifat standar, artinya ya harus seperti itu susunannya. Berikut merupakan struktur project web Maven yang baru saja di-generate.
belajar-maven-webapp
|-src
|—main
|—–resources
|—–webapp
|——-index.jsp
|——-WEB-INF
|———web.xml
|-pom.xml
Selain men-generate folder dan file jsp, Maven juga membuat sebuah file “pom.xml” yang berisi informasi project serta plugin dan dependency yang digunakan.
file : belajar-maven-webapp/pom.xml
File pom.xml di atas masih sangat minimalis. Nanti kita ubah.
file : src/main/webapp/WEB-INF/web.xml
File “web.xml” juga di-generate
File diatas masih mendeklarasikan penggunaan Servlet 2.3. Nanti kita ubah menjadi Servlet 3
file : src/main/webapp/index.jsp
File “index.jsp” hasil generate

Bekerja dengan Netbeans


Ngoding menjadi jauh lebih mudah dengan bantuan IDE daripada sekadar menggunakan text editor. Project Java Web 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 WEB
stuktur folder WEB

Update POM


Ada 4 perubahan yang dilakukan pada file pom xml yang kita miliki, yaitu
1. Menambahkan plugin compiler
2. Menambahkan plugin Jetty
3. Mengubah versi JUnit
4. Menambah dependency Servlet file : belajar-maven-webapp/pom.xml
Mungkin ada yang bertanya apa gunanya Jetty? Silahkan baca artikel yang pernah saya tulis di sini

Servlet


Servlet adalah komponen dasar yang wajib dipahami jika ingin menguasai teknologi enterprise di Java. Servlet, secara ringkas berfungsi menangani request dari user untuk kemudian dikembalikan sebagai response. Mengenai servlet silahkan baca tulisan dari Pak Endy di sini Sebelumnya buat terlebih dahulu folder “java” di dalam folder “main“. Setelah itu melalui Netbeans buat sebuah package “com.agungsetiawan.servlet” dan buat sebuah kelas servlet dengan nama “HomeServlet“.
file : src/main/java/com/agungsetiawan/servlet/HomeServlet.java
Supaya servlet di atas bisa dikenali saat pengguna mengakses suatu url maka perlu dibuatkan konfigurasinya pada “web.xml“. Ubah menjadi seperti di bawah. Perhatikan bahwa versi servlet yang digunakan sudah bukan lagi 2.5 tetapi 3.
file : src/main/webapp/WEB-INF/web.xml
Satu lagi, ubah file “index.jsp” menjadi seperti di bawah.
file : src/main/webapp/WEB-INF/index.jsp

Hampir ketinggalan. Pindah file “index.jsp” ke dalam folder “WEB-INF

Maven Packaging


Selanjutnya kita akan membuat project java menjadi sebuah file war menggunakan Maven. Perhatikan pada file pom.xml bahwa di sana terdapat setingan untuk mengatur format packaging yang diinginkan. file : belajar-maven-webapp/pom.xml
Pada terminal ketikkan perintah
mvn package
Pastikan saat mengetik perintah di atas pembaca berada pada root folder project yang bersangkutan.
Perintah di atas melakukan proses compile, menjalankan unit test serta membuat file war dari project. Cek pada folder project maka sekarang didalamnya terdapat folder “target” yang berisi file war project.

Demo

Untuk menjalankan project web dengan menggunakan Jetty, tulis perintah berikut
mvn clean install jetty:run
Kemudian akses url pada browser menggunakan salah satu dari berikut
localhost:8080/index
localhost:8080index.php
localhost:8080/default.aspx

Tidak ada komentar:

Posting Komentar