Web Project Menggunakan Maven

[M]ateri tulisan ini mirip-mirip dengan yang saya tulis kemarin Membuat Java Project dengan Maven. Bedanya adalah kali ini project web bukan project desktop. Project desktop dengan project web tentu akan berbeda stuktur foldernya, nanti pembaca yang budiman akan menyaksikannya sendiri bedaannya.

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

web app

Kalau mau deploy ke Tomcat, silahkan manfattkan file .war hasil packaging tadi. Caranya silahkan lihat pada link berikut :
Cara Gampang Deploy WAR ke Tomcat [Windows]
Cara Gampang Deploy WAR ke Tomcat Bagian 2 [Windows]

Semoga bermanfaat 🙂
[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

One thought on “Web Project Menggunakan Maven

Leave a Reply

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