Maven - Mẫu dự án

Maven cung cấp cho người dùng một danh sách rất lớn các loại mẫu dự án khác nhau (614 số) sử dụng khái niệm Archetype. Maven giúp người dùng nhanh chóng bắt đầu một dự án java mới bằng lệnh sau.

mvn archetype:generate

Archetype là gì?

Archetype là một plugin Maven có nhiệm vụ tạo cấu trúc dự án theo mẫu của nó. Chúng tôi sẽ sử dụng plugin quickstart archetype để tạo một ứng dụng java đơn giản tại đây.

Sử dụng mẫu dự án

Hãy mở bảng điều khiển lệnh, đi tới C:\ > MVN thư mục và thực thi những điều sau mvn chỉ huy.

C:\MVN>mvn archetype:generate

Maven sẽ bắt đầu xử lý và yêu cầu chọn nguyên mẫu cần thiết.

[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:

Nhấn Enter để chọn tùy chọn mặc định (203: maven-archetype-quickstart)

Maven sẽ yêu cầu phiên bản cụ thể của nguyên mẫu.

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:

Nhấn Enter để chọn tùy chọn mặc định (6: maven-archetype-quickstart: 1.1)

Maven sẽ hỏi chi tiết dự án. Nhập chi tiết dự án theo yêu cầu. Nhấn Enter nếu giá trị mặc định được cung cấp. Bạn có thể ghi đè chúng bằng cách nhập giá trị của riêng bạn.

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 sẽ yêu cầu xác nhận chi tiết dự án. Nhấn enter hoặc nhấn Y.

Confirm properties configuration:
groupId: com.companyname.insurance
artifactId: health
version: 1.0-SNAPSHOT
package: com.companyname.insurance
Y:

Bây giờ Maven sẽ bắt đầu tạo cấu trúc dự án và sẽ hiển thị như sau:

[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]-----------------------------------------------

Dự án đã tạo

Bây giờ đi đến C:\ > MVNdanh mục. Bạn sẽ thấy một dự án ứng dụng java được tạo, có tênhealth, được cho là artifactIdtại thời điểm tạo dự án. Maven sẽ tạo một bố cục thư mục tiêu chuẩn cho dự án như hình dưới đây -

Đã tạo POM.xml

Maven tạo tệp POM.xml cho dự án như được liệt kê bên dưới:

<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>

Đã tạo App.java

Maven tạo tệp nguồn java mẫu, App.java cho dự án như được liệt kê bên dưới -

Vị trí: 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!" );
   }
}

Đã tạo AppTest.java

Maven tạo tệp kiểm tra nguồn java mẫu, AppTest.java cho dự án như được liệt kê bên dưới -

Vị trí: 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 );
   }
}

Bây giờ bạn có thể thấy sức mạnh của Maven. Bạn có thể tạo bất kỳ loại dự án nào bằng cách sử dụng lệnh đơn trong maven và có thể bắt đầu quá trình phát triển của bạn.

Các kiểu mẫu khác nhau

Sr.No. Mô tả & Tạo tác Archetype
1

maven-archetype-archetype

Một nguyên mẫu, chứa một nguyên mẫu mẫu.

2

maven-archetype-j2ee-simple

Một nguyên mẫu, chứa một ứng dụng J2EE mẫu đơn giản hóa.

3

maven-archetype-mojo

Một kiểu mẫu, chứa một mẫu plugin Maven mẫu.

4

maven-archetype-plugin

Một kiểu mẫu, chứa một plugin Maven mẫu.

5

maven-archetype-plugin-site

Một kiểu mẫu, chứa một trang web plugin Maven mẫu.

6

maven-archetype-portlet

Một kiểu mẫu, chứa một Portlet JSR-268 mẫu.

7

maven-archetype-quickstart

Một nguyên mẫu, chứa một dự án Maven mẫu.

số 8

maven-archetype-simple

Một nguyên mẫu, chứa một dự án Maven đơn giản.

9

maven-archetype-site

Một nguyên mẫu, chứa một trang Maven mẫu để trình bày một số loại tài liệu được hỗ trợ như APT, XDoc và FML và trình bày cách i18n trang web của bạn.

10

maven-archetype-site-simple

Một nguyên mẫu, chứa một trang Maven mẫu.

11

maven-archetype-webapp

Một nguyên mẫu, chứa một dự án Maven Webapp mẫu.