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.-DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false
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.-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] ------------------------------------------------------------------------
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.|-src
|—main
|—–resources
|—–webapp
|——-index.jsp
|——-WEB-INF
|———web.xml
|-pom.xml
file : belajar-maven-webapp/pom.xml
file : src/main/webapp/WEB-INF/web.xml
File “web.xml” juga di-generate
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.
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
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
file : src/main/webapp/WEB-INF/web.xml
file : src/main/webapp/WEB-INF/index.jsp
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
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 berikutlocalhost:8080/index
localhost:8080index.php
localhost:8080/default.aspx
Tidak ada komentar:
Posting Komentar