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.