Maven - Template Proyek
Maven menyediakan pengguna, daftar yang sangat besar dari berbagai jenis template proyek (614 dalam angka) menggunakan konsep Archetype. Maven membantu pengguna untuk memulai proyek java baru dengan cepat menggunakan perintah berikut.
mvn archetype:generate
Apa itu Pola Dasar?
Archetype adalah plugin Maven yang tugasnya adalah membuat struktur proyek sesuai templatnya. Kita akan menggunakan plugin arketipe quickstart untuk membuat aplikasi java sederhana di sini.
Menggunakan Template Proyek
Mari buka konsol perintah, buka C:\ > MVN direktori dan jalankan perintah berikut mvn perintah.
C:\MVN>mvn archetype:generate
Maven akan mulai memproses dan akan meminta untuk memilih arketipe yang diperlukan.
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'archetype'.
[INFO] -------------------------------------------------------------------
[INFO] Building Maven Default Project
[INFO] task-segment: [archetype:generate] (aggregator-style)
[INFO] -------------------------------------------------------------------
[INFO] Preparing archetype:generate
...
600: remote −> org.trailsframework:trails-archetype (-)
601: remote −> org.trailsframework:trails-secure-archetype (-)
602: remote −> org.tynamo:tynamo-archetype (-)
603: remote −> org.wicketstuff.scala:wicket-scala-archetype (-)
604: remote −> org.wicketstuff.scala:wicketstuff-scala-archetype
Basic setup for a project that combines Scala and Wicket,
depending on the Wicket-Scala project.
Includes an example Specs test.)
605: remote −> org.wikbook:wikbook.archetype (-)
606: remote −> org.xaloon.archetype:xaloon-archetype-wicket-jpa-glassfish (-)
607: remote −> org.xaloon.archetype:xaloon-archetype-wicket-jpa-spring (-)
608: remote −> org.xwiki.commons:xwiki-commons-component-archetype
(Make it easy to create a maven project for creating XWiki Components.)
609: remote −> org.xwiki.rendering:xwiki-rendering-archetype-macro
(Make it easy to create a maven project for creating XWiki Rendering Macros.)
610: remote −> org.zkoss:zk-archetype-component (The ZK Component archetype)
611: remote −> org.zkoss:zk-archetype-webapp (The ZK wepapp archetype)
612: remote −> ru.circumflex:circumflex-archetype (-)
613: remote −> se.vgregion.javg.maven.archetypes:javg-minimal-archetype (-)
614: remote −> sk.seges.sesam:sesam-annotation-archetype (-)
Choose a number or apply filter
(format: [groupId:]artifactId, case sensitive contains): 203:
Tekan Enter untuk memilih opsi default (203: maven-archetype-quickstart)
Maven akan menanyakan arketipe versi tertentu.
Choose org.apache.maven.archetypes:maven-archetype-quickstart version:
1: 1.0-alpha-1
2: 1.0-alpha-2
3: 1.0-alpha-3
4: 1.0-alpha-4
5: 1.0
6: 1.1
Choose a number: 6:
Tekan Enter untuk memilih opsi default (6: maven-archetype-quickstart: 1.1)
Maven akan menanyakan detail proyeknya. Masukkan detail proyek seperti yang diminta. Tekan Enter jika nilai default diberikan. Anda dapat menggantinya dengan memasukkan nilai Anda sendiri.
Define value for property 'groupId': : com.companyname.insurance
Define value for property 'artifactId': : health
Define value for property 'version': 1.0-SNAPSHOT:
Define value for property 'package': com.companyname.insurance:
Maven akan meminta konfirmasi detail proyek. Tekan enter atau tekan Y.
Confirm properties configuration:
groupId: com.companyname.insurance
artifactId: health
version: 1.0-SNAPSHOT
package: com.companyname.insurance
Y:
Sekarang Maven akan mulai membuat struktur proyek dan akan menampilkan berikut ini -
[INFO]-----------------------------------------------
[INFO] Using following parameters for creating project
from Old (1.x) Archetype: maven-archetype-quickstart:1.1
[INFO]-----------------------------------------------
[INFO] Parameter: groupId, Value: com.companyname.insurance
[INFO] Parameter: packageName, Value: com.companyname.insurance
[INFO] Parameter: package, Value: com.companyname.insurance
[INFO] Parameter: artifactId, Value: health
[INFO] Parameter: basedir, Value: C:\MVN
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] project created from Old (1.x) Archetype in dir: C:\MVN\health
[INFO]-----------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO]-----------------------------------------------
[INFO] Total time: 4 minutes 12 seconds
[INFO] Finished at: Fri Jul 13 11:10:12 IST 2012
[INFO] Final Memory: 20M/90M
[INFO]-----------------------------------------------
Proyek yang Dibuat
Sekarang pergi ke C:\ > MVNdirektori. Anda akan melihat proyek aplikasi java dibuat, bernamahealth, yang diberikan sebagai artifactIdpada saat pembuatan proyek. Maven akan membuat tata letak direktori standar untuk proyek seperti yang ditunjukkan di bawah ini -
Membuat POM.xml
Maven menghasilkan file POM.xml untuk proyek seperti yang tercantum di bawah ini -
<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.companyname.insurance</groupId>
<artifactId>health</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>health</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
Membuat App.java
Maven menghasilkan contoh file sumber java, App.java untuk proyek seperti yang tercantum di bawah ini -
Lokasi: C:\ > MVN > health > src > main > java > com > companyname > insurance > App.java.
package com.companyname.insurance;
/**
* Hello world!
*
*/
public class App {
public static void main( String[] args ) {
System.out.println( "Hello World!" );
}
}
Membuat AppTest.java
Maven membuat contoh file pengujian sumber java, AppTest.java untuk proyek seperti yang tercantum di bawah ini -
Lokasi: C:\ > MVN > health > src > test > java > com > companyname > insurance > AppTest.java.
package com.companyname.insurance;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
/**
* Unit test for simple App.
*/
public class AppTest extends TestCase {
/**
* Create the test case
*
* @param testName name of the test case
*/
public AppTest( String testName ) {
super( testName );
}
/**
* @return the suite of tests being tested
*/
public static Test suite() {
return new TestSuite( AppTest.class );
}
/**
* Rigourous Test :-)
*/
public void testApp() {
assertTrue( true );
}
}
Sekarang Anda bisa melihat kekuatan Maven. Anda dapat membuat proyek apa pun menggunakan satu perintah di maven dan dapat memulai pengembangan Anda.
Pola Dasar yang Berbeda
Sr.No. | Artefak & Deskripsi Arketipe |
---|---|
1 | maven-archetype-archetype Sebuah arketipe, yang berisi arketipe sampel. |
2 | maven-archetype-j2ee-simple Sebuah pola dasar, yang berisi contoh aplikasi J2EE yang disederhanakan. |
3 | maven-archetype-mojo Pola dasar, yang berisi sampel plugin Maven sampel. |
4 | maven-archetype-plugin Pola dasar, yang berisi contoh plugin Maven. |
5 | maven-archetype-plugin-site Pola dasar, yang berisi contoh situs plugin Maven. |
6 | maven-archetype-portlet Pola dasar, yang berisi sampel Portlet JSR-268. |
7 | maven-archetype-quickstart Pola dasar, yang berisi proyek Maven sampel. |
8 | maven-archetype-simple Pola dasar, yang berisi proyek Maven sederhana. |
9 | maven-archetype-site Sebuah pola dasar, yang berisi contoh situs Maven untuk mendemonstrasikan beberapa tipe dokumen yang didukung seperti APT, XDoc, dan FML dan mendemonstrasikan bagaimana untuk i18n situs Anda. |
10 | maven-archetype-site-simple Pola dasar, yang berisi contoh situs Maven. |
11 | maven-archetype-webapp Sebuah pola dasar, yang berisi contoh proyek Maven Webapp. |