用法

创建

create 目标在特定的目录结构中创建一个 pom,即默认文件(source、test、resources、test-resources、site-resources)。最基本的使用方法是只使用两个表达式调用目标:要构建的项目的groupIdartifactId 。例如,使用

 mvn archetype:create                              \
  -DgroupId=sample.group.id                        \ 
  -DartifactId=sample-artifact-id                  

这将在sample.group.id包下创建一个App.java和一个AppTest.java。App.java是一个简单的“Hello World”程序,而AppTest.java是 junit.framework.TestCase 的子类,一个始终通过的测试。

您还可以指定其他参数,例如要创建的项目的版本、类的packageNameremoteRepositoriespomRemoteRepositories(请参阅指定远程存储库),以及archetypeGroupIdarchetypeArtifactIdarchetypeVersion

如果未指定版本,将使用默认值1.0-SNAPSHOT。此外,如果未指定packageName , maven-archetype-plugin将根据groupId派生类默认包名称(即groupId sample.group.id将具有默认包名称sample.group.id)。

此外,如果未指定archetypeGroupIdarchetypeArtifactIdarchetypeVersion(如上例所示),则将使用默认值,分别为org.apache.maven.archetypesmaven-archetype-quickstart1.0-SNAPSHOT

因此,上述命令与

 mvn archetype:create                                
  -DgroupId=sample.group.id                        \
  -DartifactId=sample-artifact-id                  \
  -Dversion=1.0-SNAPSHOT                           \
  -DpackageName=sample.group.id                    \
  -DarchetypeGroupId=org.apache.maven.archetypes   \
  -DarchetypeArtifactId=maven-archetype-quickstart \
  -DarchetypeVersion=1.0-SNAPSHOT                  

但是,如果您想使用默认以外的其他原型,则必须指定以下参数:archetypeGroupIdarchetypeArtifactIdarchetypeVersion

例如,如果您希望创建一个具有groupId my.company.projectsartifactId my-project 的项目,使用具有artifactId my-archetype版本 1.0-archetype-SNAPSHOT 的原型,在groupId my.company.archetypes下,你必须执行

mvn archetype:create                               \
  -DgroupId=my.company.projects                    \
  -DartifactId=my-project                          \
  -DarchetypeGroupId=my.company.archetypes         \
  -DarchetypeArtifactId=my-archetype               \
  -DarchetypeVersion=1.0-archetype-SNAPSHOT        

但是,如果您要使用的原型具有与默认值相同的元素(archetypeGroupIdarchetypeArtifactIdarchetypeVersion),则不必指定该元素。

例如,如果您要使用groupId org.apache.maven.archetypes下的maven-archetype-webapp 版本 1.0-SNAPSHOT,您可以简单地使用以下命令

mvn archetype:create
  -DgroupId=my.company.projects
  -DartifactId=another-project
  -DarchetypeArtifactId=maven-archetype-webapp

从项目创建

基于现有 Maven 项目(目前正在开发中)构建原型容器。