Dari seorang penerjemah: Beberapa tahun yang lalu, saya menetapkan tujuan saya dengan cepat, tetapi cukup dekat untuk mengetahui kerangka kerja yang umum digunakan seperti Apache Maven . Hampir dengan segera, saya berhasil menemukan literatur yang sesuai, tetapi saya sedikit terkejut dengan kenyataan bahwa semua bahan yang rumit itu eksklusif dalam bahasa Inggris, sementara di Rusia ada banyak artikel yang tersebar, tetapi saya tidak dapat menemukan buku yang lengkap yang dapat dibaca dari depan ke belakang. berhasil Sebagai hasilnya, untuk membaca, saya memilih buku kecil, Introducing Maven, yang ditulis oleh Balaji Varnasi dan Sudha Belida dan diterbitkan oleh Apress pada tahun 2014. Karena semua tugas telah diselesaikan, saya secara bertahap melahirkan terjemahan dari publikasi ini, yang, meskipun sudah ada di meja saya selama beberapa tahun, mungkin masih bermanfaat bagi masyarakat.
Di sini saya memberikan terjemahan hanya satu dari bab-bab buku ini, tetapi keseluruhannya dapat diunduh di sini dari tautan-tautan ini dalam bahasa Inggris , atau dalam bahasa Rusia (PDF).
Bab 6: Pola Dasar Maven
Hingga saat ini, Anda membuat proyek Maven secara manual, membuat folder dan file
pom.xml dari awal. Ini bisa membosankan, terutama jika Anda sering harus membuat proyek. Untuk mengatasi masalah ini, Maven menyediakan arketipe.
Arketipe Maven adalah proyek yang telah ditentukan yang memungkinkan pengguna untuk dengan mudah membuat proyek baru.
Arketipe Maven juga menyediakan basis yang nyaman untuk berbagi pengalaman dan memastikan konsistensi struktur direktori Maven standar. Misalnya, perusahaan dapat membuat arketipe dengan lembar gaya kaskade perusahaan (
CSS ), pustaka yang disetujui
JavaScript , dan komponen yang dapat digunakan kembali. Pengembang yang menggunakan arketipe ini untuk membuat proyek akan secara otomatis mengikuti standar perusahaan.
Built-in Archetypes
Out of the box, Maven menyediakan pengembang dengan ratusan arketipe. Selain itu, ada banyak proyek sumber terbuka yang menyediakan arketipe tambahan yang dapat Anda unduh dan gunakan. Maven juga menyediakan plug-in arketipe dengan tujuan untuk membuat arketipe dan menghasilkan proyek dari arketipe.
Plugin arketipe memiliki target pembuatan yang memungkinkan Anda untuk melihat dan memilih arketipe yang diperlukan.
Listing 6-1 menampilkan hasil menjalankan target menghasilkan dari baris perintah. Seperti yang Anda lihat, 491 arketipe diberikan untuk dipilih
(pada 2018 sudah ada lebih dari 2 ribu - sekitar Terjemahan) . Penggunaan beberapa di antaranya dibahas dalam bab ini.
Listing 6-1. Plugin pola dasar Maven menghasilkan panggilan target$mvn archetype:generate [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 Interactive mode [INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.archetypes:maven-archetype-quickstart:1.0) ........................... ........................... 1176: remote -> ru.yandex.qatools.camelot:camelot-plugin (-) 1177: remote -> se.vgregion.javg.maven.archetypes:javg-minimal-archetype (-) 1178: remote -> sk.seges.sesam:sesam-annotation-archetype (-) 1179: remote -> tk.skuro:clojure-maven-archetype (A simple Maven archetype for Clojure) 1180: remote -> tr.com .lucidcode:kite-archetype (A Maven Archetype that allows users to create a Fresh Kite project) 1181: remote -> uk.ac.rdg.resc:edal-ncwms-based-webapp (-) 1182: local -> com.inflinx.book.ldap:practical-ldap-empty-archetype (-) 1183: local -> com.inflinx.book.ldap:practical-ldap-archetype (-) Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 491:
Pembuatan proyek web
Maven menyediakan
arketipe maven-archetype-webapp untuk menghasilkan aplikasi web. Mari kita buat aplikasi seperti itu dengan memanggil perintah berikut di
folder C: \ apress \ gswm-book \ chapter6 :
mvn archetype:generate -DarchetypeArtifactId=maven-archetype-webapp
Perintah ini dijalankan secara interaktif. Untuk pertanyaan yang masuk, masukkan informasi berikut:
Define value for property 'groupId': : com.apress.gswmbook Define value for property 'artifactId': : gswm-web Define value for property 'version': 1.0-SNAPSHOT: : <<Hit Enter>> Define value for property 'package': com.apress.gswmbook: : war Confirm the properties configuration: groupId: com.apress.gswmbook artifactId: gswm-web version: 1.0-SNAPSHOT package: war Y: <<Hit Enter>>
Struktur folder yang dihasilkan akan terlihat seperti yang ditunjukkan pada
Gambar 6-1 :
Gambar 6-1. Struktur proyek web Maven
File
pom.xml minimal dan berisi satu ketergantungan -
JUnit . Maven dapat menyederhanakan peluncuran aplikasi web Anda menggunakan server web tertanam seperti
Tomcat atau
Jetty .
Listing 6-2 menampilkan file
pom.xml yang dimodifikasi dengan plugin
Tomcat ditambahkan.
Listing 6-2. File pom.xml yang dimodifikasi dengan plugin Tomcat tertanam <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.apress.gswmbook</groupId> <artifactId>gswm-web</artifactId> <packaging>war</packaging> <version>1.0-SNAPSHOT</version> <name>gswm-web Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> <build> <finalName>gswm-web</finalName> <plugins> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> </plugin> </plugins> </build> </project>
Untuk menjalankan aplikasi web ini di server
Tomcat , panggil perintah berikut di direktori root proyek:
mvn tomcat7:run
Anda akan melihat proyek terperinci dan hasil yang serupa dengan yang ditunjukkan pada
Listing 6-3 .
Listing 6-3. Tomcat menjalankan output perintah Oct 11, 2014 12:08:43 PM org.apache.catalina.core.StandardService startInternal INFO: Starting service Tomcat Oct 11, 2014 12:08:43 PM org.apache.catalina.core.StandardEngine startInternal INFO: Starting Servlet Engine: Apache Tomcat/7.0.47 Oct 11, 2014 12:08:45 PM org.apache.catalina.util.SessionIdGenerator createSecureRandom INFO: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [334] milliseconds. Oct 11, 2014 12:08:45 PM org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["http-bio-8080"]
Sekarang mulai browser Anda dan pergi ke
localhost : 8080 / gswm-web / . Anda harus melihat halaman web seperti yang ditunjukkan pada
Gambar 6-2 .
Gambar 6-2. Proyek web berjalan di browser
Proyek multimodular
Proyek
Java Enterpise Edition (JEE) sering dibagi menjadi beberapa modul untuk memfasilitasi pengembangan dan pemeliharaan. Masing-masing modul ini menghasilkan artefak seperti
Enterprise JavaBeans (EJBs) , layanan web, proyek web, dan
JAR klien. Maven mendukung pengembangan proyek
JEE besar seperti itu, memungkinkan Anda untuk meng-host beberapa proyek Maven di dalam proyek Maven lain. Struktur proyek multi-modul seperti itu ditunjukkan pada
Gambar 6-3 . Proyek induk memiliki file
pom.xml dan beberapa proyek Maven di dalamnya.
Gambar 6-3. Struktur proyek multi-modul
Sampai akhir bab ini, kami akan menjelaskan bagaimana membangun proyek multi-modul untuk tugas di mana Anda perlu membagi proyek besar menjadi aplikasi web (artefak
WAR ) yang menyediakan antarmuka pengguna, proyek layanan (artefak
JAR ) yang berisi kode lapisan layanan, dan proyek
Kegigihan yang mengandung kode level repositori.
Gambar 6-4 menunjukkan representasi visual dari skenario seperti itu.
Gambar 6-4. Proyek multimodular, Maven
Mari kita mulai proses dengan membuat proyek induk. Untuk melakukan ini, jalankan perintah berikut di prompt perintah di folder C: \ apress \ gswm-book \ chapter6:
mvn archetype:generate -DgroupId=com.apress.gswmbook -DartifactId=gswm-parent -Dversion=1.0.0-SNAPSHOT -DarchetypeGroupId=org.codehaus.mojo.archetypes -DarchetypeArtifactId=pom-root
Pola dasar
pom-root membuat folder
gswm-parent dan di dalamnya file
pom.xml .
Seperti yang
ditunjukkan pada
Listing 6-4 , file
pom.xml yang dihasilkan memiliki konten minimal. Perhatikan bahwa tipe
pom ditentukan dalam tag
kemasan proyek induk.
Listing 6-4. File induk pom.xml <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/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.apress.gswmbook</groupId> <artifactId>gswm-parent</artifactId> <version>1.0.0-SNAPSHOT</version> <packaging>pom</packaging> <name>gswm-parent</name> </project>
Sekarang buat proyek web dengan menjalankan perintah berikut di
folder C: \ apress \ gswm-book \ chapter6 \ gswm-parent :
mvn archetype:generate -DgroupId=com.apress.gswmbook -DartifactId=gswm-web -Dversion=1.0.0-SNAPSHOT -Dpackage=war -DarchetypeArtifactId=maven-archetype-webapp
Dalam proses menghasilkan proyek web ini, Anda memberi Maven koordinat seperti
groupId ,
versi , dll. Sebagai parameter yang diteruskan ke target pembuatan, yang menciptakan proyek
web gswm .
Langkah selanjutnya adalah membuat proyek layanan. Dari
folder C: \ apress \ gswm-book \ chapter6 \ gswm-parent, jalankan perintah berikut:
mvn archetype:generate -DgroupId=com.apress.gswmbook -DartifactId=gswm-service -Dversion=1.0.0-SNAPSHOT -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
Harap dicatat bahwa Anda tidak menentukan parameter
paket , sebagai
maven-archetype-quickstart membuat proyek
JAR default. Perhatikan juga penggunaan parameter
interactiveMode . Itu hanya memberitahu Maven untuk mengeksekusi perintah tanpa meminta pengguna untuk informasi apa pun.
Mirip dengan langkah sebelumnya, buat proyek Java
gswm-repositori berikut dengan menjalankan perintah berikut dalam
C: \ apress \ gswm-book \ chapter6 \ gswm-parent folder :
mvn archetype:generate -DgroupId=com.apress.gswmbook -DartifactId=gswm-repository -Dversion=1.0.0-SNAPSHOT -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
Sekarang setelah Anda memiliki semua proyek yang dihasilkan, lihat file
pom.xml di folder
gswm-parent .
Listing 6-5 menampilkan isinya.
Listing 6-5. File pom.xml induk dengan modul <?xml version="1.0" encoding="UTF-8"?> <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/xsd/maven 4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.apress.gswmbook</groupId> <artifactId>gswm-parent</artifactId> <version>1.0.0-SNAPSHOT</version> <packaging>pom</packaging> <name>gswm-parent</name> <modules> <module>gswm-web</module> <module>gswm-service</module> <module>gswm-repository</module> </modules> </project>
Elemen
modul memungkinkan Anda untuk mendeklarasikan modul anak dalam proyek multi-modul. Karena setiap modul dihasilkan, Maven mendaftarkannya sebagai anak-anak. Selain itu, ia memodifikasi file
pom.xml dari modul itu sendiri, menambahkan informasi tentang
pom.xml induk
kepada mereka .
Listing 6-6 menampilkan file
pom.xml dari proyek
gswm-web , yang menentukan elemen
pom induk.
Listing 6-6. File pom.xml modul web <?xml version="1.0"?> <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.apress.gswmbook</groupId> <artifactId>gswm-parent</artifactId> <version>1.0.0-SNAPSHOT</version> </parent> <groupId>com.apress.gswmbook</groupId> <artifactId>gswm-web</artifactId> <version>1.0.0-SNAPSHOT</version> <packaging>war</packaging> <name>gswm-web Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> <build> <finalName>gswm-web</finalName> </build> </project>
Sekarang seluruh infrastruktur sudah terpasang, Anda dapat merakit proyek berikutnya. Jalankan saja perintah
paket mvn dari folder
gswm-project , seperti yang ditunjukkan pada
Listing 6-7 .
Listing 6-7. Perintah paket Maven diluncurkan di direktori proyek induk C:\apress\gswm-book\chapter6\gswm-parent>mvn package [INFO] Scanning for projects... [INFO] ------------------------------------------------------------------------ [INFO] Reactor Build Order: [INFO] [INFO] gswm-parent [INFO] gswm-web Maven Webapp [INFO] gswm-service [INFO] gswm-repository [INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary: [INFO] [INFO] gswm-parent ....................................... SUCCESS [0.001s] [INFO] gswm-web Maven Webapp ............................. SUCCESS [1.033s] [INFO] gswm-service ...................................... SUCCESS [0.552s] [INFO] gswm-repository ................................... SUCCESS [0.261s] [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 1.949s [INFO] Finished at: Mon Oct 13 23:09:21 MDT 2014 [INFO] Final Memory: 6M/15M [INFO] ------------------------------------------------------------------------
Membuat Pola Dasar
Maven menyediakan beberapa cara untuk membuat pola dasar baru. Di sini kita akan menggunakan proyek yang sudah ada untuk ini.
Mari kita mulai dengan membuat proyek prototipe yang akan digunakan sebagai dasar untuk menghasilkan pola dasar. Proyek ini akan kompatibel dengan
Servlet 3.0 dan berisi
Servlet Status yang mengembalikan kode status HTTP 200 ("OK" - permintaan yang berhasil). Alih-alih membuat proyek web dari awal, salin proyek
web-gswm yang dibuat sebelumnya dan buat
prototipe web- gswm di folder C: \ apress \ gswm-book \ chapter6 . Buat perubahan berikut untuk proyek yang baru saja Anda salin:
1. Hapus semua sumber daya lainnya, seperti file khusus untuk
Integrated Development Environment (IDE) (
.project ,
.classpath , dll.) Yang tidak ingin Anda sertakan dalam arketipe.
2. Ganti konten
file web.xml dari folder
webapp / WEB-INF . Ini akan mengonfigurasi aplikasi web untuk menggunakan
Servlet 3.0 :
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <display-name>Archetype Created Web Application</display-name> </web-app>
3. Tambahkan ketergantungan
Servlet 3.0 ke file
pom.xml . Konten
pom.xml yang diperbarui ditunjukkan pada
Listing 6-8 .
Listing 6-8. File Pom.xml dengan Ketergantungan Servlet <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.apress.gswmbook</groupId> <artifactId>gswm-web</artifactId> <packaging>war</packaging> <version>1.0-SNAPSHOT</version> <name>gswm-web Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.0.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> <build> <finalName>gswm-web</finalName> <plugins> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> </plugin> </plugins> </build> </project>
4. Sejak kita akan mengembangkan proyek web di Java, lalu membuat folder bernama
java di direktori
src / main . Demikian pula, buat folder
test / java dan
test / resources di direktori
src .
5. Buat file
AppStatusServlet.java milik paket
com.apress.gswmbook.web.servlet di direktori
src / main / java . Paket
com.apress.gswmbook.web.servlet dikonversi ke struktur folder
com \ apress \ gswmbook \ web \ servlet . Kode sumber untuk file
AppStatusServelet.java ditunjukkan pada
Listing 6-9 .
Listing 6-9. Kode Sumber untuk Kelas Java AppStatusServlet package com.apress.gswmbook.web.servlet; import javax.servlet.annotation.WebServlet; import javax.servlet.*; import javax.servlet.http.*; import java.io.*; @WebServlet("/status") public class AppStatusServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { PrintWriter writer = response.getWriter(); writer.println("OK"); response.setStatus(response.SC_OK); } }
Desain prototipe dalam struktur akan menjadi perjalanan ke yang digambarkan pada
Gambar 6-5 .
Fig. 6-5. Proyek Prototipe Dihasilkan
Menggunakan baris perintah, buka
folder gswm-web-prototype proyek dari menjalankan perintah berikut:
mvn archetype:create-from-project
Di akhir perintah, Anda akan melihat pesan
Pola Dasar yang dibuat di target / generate-sources / pola dasar . Pola dasar yang dihasilkan terletak di
folder gswm-web-prototype / target / generate-sources / archetype .
Langkah selanjutnya adalah mentransfer artefak yang baru dibuat ke folder gswm-web-archetype yang terpisah untuk mengkonfigurasinya sebelum diterbitkan. Untuk melakukan ini, ikuti langkah-langkah ini:
1. Buat
folder gswm-web-archetype di direktori
C: \ apress \ gswm-book \ chapter6 .
2. Salin subdirektori dan file dari folder
C: \ apress \ gswm-book \ bab6 \ gswm-web-prototype \ target \ generate-sources \ archetype ke folder
gswm-web-archetype .
3. Hapus subdirektori
target dari
folder C: \ apress \ gswm-book \ chapter6 \ gswm-web-archetype .
Struktur folder untuk
gswm-web-archetype harus serupa dengan yang ditunjukkan pada
Gambar 6-6 .
Fig. 6-6. Struktur Proyek Pola Dasar Web
Mari kita mulai proses modifikasi dengan file
pom.xml yang terletak di
folder gswm-web-archetype \ src \ main \ resources \ archetype-resources . Ubah
finalName di
pom.xml dari
gswm-web ke $ {artifactId}. Selama proses pembuatan proyek, Maven akan mengganti ekspresi
$ {artifactId} dengan nilai yang diberikan oleh pengguna.
Ketika sebuah proyek dibuat dari arketipe, Maven meminta pengguna untuk nama paket. Maven membuat struktur folder yang sesuai dengan paket yang terletak di direktori
src / main / java dari proyek yang dibuat. Kemudian Maven memindahkan semua konten dari folder pola
dasar-sumber daya / src / main / java ke dalam paket ini. Karena Jika Anda ingin
AppStatusServlet berada di
subpackage web.servlet , buat folder
web / servlet dan pindahkan
AppStatusServlet ke sana. Lokasi baru
AppStatusServlet.java ditunjukkan pada
Gambar 6-7 .
Gambar 6-7. AppStatusServlet dalam paket web.servlet
Buka
AppStatusServlet.java dan ubah nama
paket dari
paket $ {package}; pada
paket $ {package} .web.servlet;Langkah terakhir dalam membuat arketipe adalah dengan mengeksekusi perintah berikut dari baris perintah, yang terletak di folder gswm-web-arketipe:
mvn clean install
Menggunakan arketipe
Setelah arketipe telah diinstal, cara termudah untuk membuat proyek dari itu adalah ke, dalam
folder C: \ apress \ gswm-book \ chapter6 , jalankan perintah berikut:
mvn archetype:generate -DarchetypeCatalog=local
Menanggapi pertanyaan Maven, masukkan nilai yang ditunjukkan pada
Listing 6-10 , dan Anda akan melihat proyek yang dibuat.
Listing 6-10. Membuat proyek baru menggunakan pola dasar C:\apress\gswm-book\chapter6>mvn archetype:generate -DarchetypeCatalog=local [INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building Maven Stub Project (No POM) 1 [INFO] ------------------------------------------------------------------------ [INFO] Generating project in Interactive mode [INFO] No archetype defined. Using maven-archetype-quickstart (org.apache. maven.archetypes:maven-archetype-quickstart:1.0) Choose archetype:1: local -> com.apress.gswmbook:gswm-web-archetype (gswm-web-archetype) Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): : 1 Define value for property 'groupId': : com.apress.gswmbook Define value for property 'artifactId': : test-project Define value for property 'version': 1.0-SNAPSHOT: : Define value for property 'package': com.apress.gswmbook: : Confirm properties configuration: groupId: com.apress.gswmbook artifactId: test-project version: 1.0-SNAPSHOT package: com.apress.gswmbook Y: : ------------------------------------------------------------------------------ project [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 1:27.635s [INFO] Finished at: Mon Oct 13 23:36:01 MDT 2014 [INFO] Final Memory: 9M/22M [INFO] ------------------------------------------------------------------------
Karena file
pom.xml untuk
proyek-tes sudah berisi plugin
Tomcat , kemudian jalankan
mvn tomcat7: jalankan perintah di folder
C: \ apress \ gswmbook \ bab6 \ test-project untuk memulai
proyek . Buka browser dan pergi ke
localhost : 8080 / test-project / status . Anda akan melihat tulisan
OK , seperti yang ditunjukkan pada
Gambar 6-8 .
Gambar 6-8. Halaman yang dihasilkan oleh proyek yang dihasilkan
Ringkasan
Arketipe Maven adalah bertopik proyek yang memungkinkan Anda dengan cepat meluncurkan proyek baru. Dalam bab ini, arketipe bawaan digunakan untuk menghasilkan proyek Maven yang kompleks, seperti proyek web atau proyek multi-modul. Anda juga belajar cara membuat dan menggunakan arketipe khusus.
Di bab selanjutnya, Anda akan mempelajari dasar-dasar pembuatan situs, dokumentasi, dan pelaporan menggunakan Maven.