Membangun Project Aplikasi Java Berbasis Web via Apache Maven (Bagian -1)
Sebagaimana yang pernah dibahas pada tulisan subrutin sebelumnya, bahwa Apache Maven adalah aplikasi perangkat lunak yang berguna untuk mengelola project java, mulai dari generate project, build, hingga proses dokumentasi. Pada artikel kali ini, penulis akan menunjukan bagaimana membangun sebuah project web (Web Application) menggunakan Maven.
- Prasyarat Environment
Tutorial ini dibuat dengan asumsi, bahwa perangkat lunak berikut telah terinstal pada mesin komputer programmer, jika pembaca belum menginstal perangkat lunak berikut, silahkan merujuk ke tautan yang disediakan untuk mengunduh dan menginstal software yang diperlukan.
- Java 11 ( Bagaimana Mengunduh dan Menginstal OpenJDK dari Red Hat )
- Maven (Bagaimana Memulai Menggunakan Apache Maven)
- Generate Archetype
Buka terminal atau command prompt pada mesin komputer, lalu ketik perintah berikut untuk membuat sebuah project maven
mvn archetype:generate -DgroupId=com.subrutin -DartifactId=hello-web-maven -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false
Ketika pertama kali mengeksekusi perintah tersebut, Maven akan terhubung ke internet dan proses akan memakan waktu beberapa saat tergantung koneksi internet yang digunakan. Namun ketika perintah tersebut dijalankan untuk kedua kalinya dan selanjutnya, Maven tidak perlu lagi terhubung ke internet. Karena archetype tersebut telah disimpan di dalam cache folder m2
maven.
Setelah proses generate archetype berhasil, perhatikan terdapat folder project baru bernama hello-web-maven
dengan struktur project sebagai berikut
└───hello-web-maven └───src └───main ├───resources └───webapp └───WEB-INF
Maven menggunakan layout direktori standar. Untuk konteks web application, berikut adalah layout dari struktur direktori project
/src/main/java
: direktori tempat source code java berada/src/main/resources/
: direktori tempat resource java berada/src/main/webapp
: direktori tempat aplikasi web berada
- Import Project ke IDE
Setelah project baru berhasil dibuat, kini programmer dapat mengimpornya menggunakan IDE favoritnya, masing – masing. Dalam tutorial ini, penulis menggunakan Spring Tool Suite (atau dapat digunakan juga Eclipse IDE for Enterprise Java Developer). Pembaca dapat merujuk ke artikel berjudul Bagaimana Memulai Menggunakan Apache Maven untuk mengimpor project Maven menggunakan Eclipse.
- Mengunduh dan Setup ApacheTomcat
Setelah proses impor selesei, akan ditemui error pada eclipse seperti berikut
the superclass javax.servlet.http.httpservlet was not found on the java build path
Error tersebut dikarenakan pada Eclipse IDE belum tersedia runtime dependency untuk httpservlet
dan jsp-api
yang diinstal pada mesin komputer. Dependency ini dapat didapatkan melalui servlet container. Beberapa servlet container yang tersedia adalah sebagai berikut
- Apache Tomcat
- Oracle GlassFish
- JBossAS/WildFily
Namun dalam tutorial ini, akan digunakan Apache Tomcat versi 9.x, yang dapat diunduh di tautan ini. Pada bagian Binary Distributions, pilih yang berformat zip, unduh lalu ekstrak ke folder yang diinginkan.
Berikutnya tinggal sesuaikan pengaturan pada Eclipse IDE agar dapat membaca lokasi Apache Tomcat 9.0 yang telah diunduh. Caranya masuk ke menu Preferences kemudian pilih Server > Runtime Environments. Klik Add.. untuk menambahkan servlet container.
Pada jendela dialog New Server Runtime Environment, pengguna akan diminta memilih Server Runtime Environment yang akan digunakan, pilih Apache > Apache Tomcat v9.0 lalu klik button Next.
Berikutnya, pilih folder dimana lokasi folder Apache Tomcat v9.0, kemudian klik Finish. Klik button Apply and Close untuk menyimpan dan menutup perubahan pada Preferences.
- Setup Target Runtime Environment
Setelah Eclipse IDE mengenali lokasi Apache Tomcat v9.0, sekarang giliran project maven yang baru saja diimpor perlu disesuaikan. Caranya, klik kanan direktori project lalu pilih Properties kemudian pilih Targeted Runtimes dan centang Apache Tomcat v9.0. Setelah itu klik button Apply and Close.
Perhatikan, kini error the superclass javax.servlet.http.httpservlet
pada panel tidak lagi muncul. Berarti masalah dependensi telah diseleseikan.
- Sesuaikan versi Java
Secara default maven-archetype-webapp
menggunakan Java 1.5 sehingga, saat selesei diimpor JRE System Library akan tertulis Java SE 1.5. Agar maven menggunakan Java 11, maka perlu ditambahkan beberapa baris properties pada pom.xml menjadi sebagai berikut
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.subrutin</groupId> <artifactId>hello-web-maven</artifactId> <packaging>war</packaging> <version>1.0-SNAPSHOT</version> <name>hello-web-maven Maven Webapp</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>11</maven.compiler.source> <maven.compiler.target>11</maven.compiler.target> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> <build> <finalName>hello-web-maven</finalName> </build> </project>
Setiap perubahan pada pom.xml
jangan lupa melakukan maven updates agar project maven pada IDE disinkronkan dengan kondisi pom yang terbaru. Caranya, klik kanan pada direktori project lalu pilih Maven > Update Projects lalu klik button OK
Sekarang perhatikan bahwa project maven telah menggunakan versi Java 11, sebagaimana pada gambar berikut
Kini project java telah siap untuk dijalankan, berikutnya pada bagian 2, subrutin akan membahas mengenai cara menjalankan project maven tersebut kedalam Tomcat yang telah diintegrasikan pada Eclipse
Bersambung ke Bagian 2.
[…] Membangun Project Aplikasi Java Berbasis Web via Apache Maven (Bagian -1) […]
[…] Membangun Project Aplikasi Java Berbasis Web via Apache Maven (Bagian -1) […]