创建原型是一个非常简单的过程。原型是一个非常简单的插件,其中包含您希望创建的项目原型。原型由以下部分组成:
要创建原型,请执行以下步骤:
原型插件的示例pom.xml如下所示:
<project> <modelVersion>4.0.0</modelVersion> <groupId>my.groupId</groupId> <artifactId>my-archetype-id</artifactId> <version>1.0-SNAPSHOT</version> <packaging>maven-plugin</packaging> </project>
您只需要指定一个groupId、artifactId和version。稍后将需要这三个参数来通过archetype:create 从命令行调用原型。
原型描述符是一个名为archetype.xml的文件,它必须位于src/main/resources/META-INF/原型描述符的示例可以在快速入门原型中找到:
<archetype> <id>quickstart</id> <sources> <source>src/main/java/App.java</source> </sources> <testSources> <source>src/test/java/AppTest.java</source> </testSources> </archetype>
< id>标签应该与原型pom.xml中的artifactId相同。
一个可选的<allowPartial>true</allowPartial>标签使得运行archetype:create甚至在现有项目上成为可能。
< sources>、<resources>、<testResources>和<siteResources>标记代表项目的不同部分:
<sources>和<testSources>可以包含指定源文件的<source>元素。
<testResources>和<siteResources>可以包含指定资源文件的<resource>元素。
将其他资源,如<resources>标记内的src/main/webapp目录中的资源。
此时只能指定要创建的单个文件,但不能指定空目录。
因此,上面显示的快速入门原型定义了以下目录结构:
archetype |-- pom.xml `-- src `-- main `-- resources |-- META-INF | `-- archetype.xml `-- archetype-resources |-- pom.xml `-- src |-- main | `-- java | `-- App.java `-- test `-- java `-- AppTest.java
要创建的原型的下一个组件是原型pom.xml。任何pom.xml都可以,只是不要忘记将artifactId和groupId设置为变量(${artifactId} / ${groupId})。调用archetype:create时,这两个变量都将从命令行初始化。
原型pom.xml的示例是:
<project> <modelVersion>4.0.0</modelVersion> <groupId>${groupId}</groupId> <artifactId>${artifactId}</artifactId> <packaging>jar</packaging> <version>${version}</version> <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>
现在您已准备好安装原型:
mvn install
现在您已经创建了一个原型,您可以使用以下命令在本地系统上尝试它。在此命令中,您需要指定有关您要使用的原型的完整信息(它的groupId、它的artifactId、它的version)以及有关您要创建的新项目的信息(artifactId和groupId)。不要忘记包含您的原型的版本(如果您不包含该版本,您的原型创建可能会失败并显示版本:RELEASE 未找到)
mvn archetype:create \ -DarchetypeGroupId=<archetype-groupId> \ -DarchetypeArtifactId=<archetype-artifactId> \ -DarchetypeVersion=<archetype-version> \ -DgroupId=<my.groupid> \ -DartifactId=<my-artifactId>
一旦您对原型的状态感到满意,您就可以将其部署(或将其提交给 ibiblio)作为任何其他工件,然后该原型将可供任何 Maven 用户使用。
无需手动创建原型所需的目录结构,只需使用
mvn archetype:create -DgroupId=[your project's group id] -DartifactId=[your project's artifact id] -DarchetypeArtifactId=maven-archetype-archetype
之后,您现在可以自定义archetype-resources目录和archetype.xml的内容,然后继续执行步骤#4(安装并运行 archetype 插件)。