maven 原型模板(Archetype)

maven archetype模板,为应用快速建立应用提供巨大的帮助。

可以通过程序的模板来创建新的应用,比如 quick start archetype.

使用archetype(交互式输入参数来创建项目,如果使用非交互式,需要加上-B选项,并带上必要参数,执行下列命令:

mvn -B archetype:generate \

  -DarchetypeGroupId=org.apache.maven.archetypes \

  -DgroupId=com.mycompany.app \

  -DartifactId=my-app

):

mvn archetype:generate

以上是常用的项目模板:

Archetype ArtifactIds描述

maven-archetype-archetypeAn archetype to generate a sample archetype project.

maven-archetype-j2ee-simpleAn archetype to generate a simplifed sample J2EE application.

maven-archetype-mojoAn archetype to generate a sample a sample Maven plugin.

maven-archetype-pluginAn archetype to generate a sample Maven plugin.

maven-archetype-plugin-siteAn archetype to generate a sample Maven plugin site.

maven-archetype-portletAn archetype to generate a sample JSR-268 Portlet.

maven-archetype-quickstartAn archetype to generate a sample Maven project.

maven-archetype-simpleAn archetype to generate a simple Maven project.

maven-archetype-siteAn archetype to generate a sample Maven site which

demonstrates some of the supported document types like APT, XDoc, and

FML and demonstrates how to i18n your site.

maven-archetype-site-simpleAn archetype to generate a sample Maven site.

maven-archetype-webappAn archetype to generate a sample Maven Webapp project.

自定义项目模板

一个原型就是一个非常简单的模块,具有以下部分组成

1. archetype descriptor(src/main/resources/META-INF/maven/archetype.xml): 列出项目中所有包含的文件。

2. 原型文件会被拷贝到archetype插件当中(src/main/resources/archetype-resources/)

3. 原型pom.xml(src/main/resources/archetype-resources)

4. 用于原型的pom.xml(原型根目录下)

创建步骤:

1. 创建一个新的工程和pom.xml用于原型模块,pom.xml必要属性 groupId、artifactId、version(mvn archetype:generate)

2. 创建原型描述文档(archetype descriptor)是一个archetype.xml文档。位置在 src/main/resources/META-INF/maven/  示例:

<archetype xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

  xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/archetype/1.0.0 http://maven.apache.org/xsd/archetype-1.0.0.xsd">

<!-- archetypeId -->

  <id>quickstart</id>

<!-- 是否可以在已经存在的项目当中执行archetype:generate -->

<allowPartial>true</allowPartial>

<!--

<sources>,<resources>,<testSources>,<testResources>和<siteResources>

代表着不同项目不同的部分,<sources>和<testSources>定义包含的源文件

<testResources>和<siteResources>定义资源文件。

放置其它资源文件则通过resources标签

 -->

  <sources>

    <source>src/main/java/App.java</source>

  </sources>

  <testSources>

    <source>src/test/java/AppTest.java</source>

  </testSources>

</archetype>

此时项目目录结构应当是这样的。

archetype

|-- pom.xml

`-- src

    `-- main

        `-- resources

            |-- META-INF

            |  `-- maven

            |      `--archetype.xml

            `-- archetype-resources

                |-- pom.xml

                `-- src

                    |-- main

                    |  `-- java

                    |      `-- App.java

                    `-- test

                        `-- java

                            `-- AppTest.java

3. 步骤3:创建原型pom.xml(src/main/resources/archetype-resources),通过命令行变量来替换关键信息

<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>${groupId}</groupId>

  <artifactId>${artifactId}</artifactId>

  <version>${version}</version>

  <packaging>jar</packaging>

  <name>A custom project</name>

  <url>http://www.myorganization.org</url>

  <dependencies>

    <dependency>

      <groupId>junit</groupId>

      <artifactId>junit</artifactId>

      <version>3.8.1</version>

      <scope>test</scope>

    </dependency>

  </dependencies>

</project>

4. mvn install 安装到本地仓库当中即可

5. 使用刚刚创建的archetype artifact来创建新的maven项目

mvn archetype:generate \

  -DarchetypeGroupId=<archetype-groupId>                \

  -DarchetypeArtifactId=<archetype-artifactId>          \

  -DarchetypeVersion=<archetype-version>                \

  -DgroupId=<my.groupid>                                \

  -DartifactId=<my-artifactId>


示例项目demo git地址:

https://github.com/wk1034832478/myarchetype-demo/tree/master/src/main/resources/archetype-resources



.

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容