如何使用maven-archetype-plugin创建项目?什么是artefactId等?

Mel*_*lon 41 maven-2 maven-plugin maven-3 maven maven-archetype

我是Maven的新手,我在这里使用maven.apache.org 教程作为介绍.

在本教程的" 如何制作我的第一个Maven项目? "部分中,它教我们通过执行以下命令生成Maven原型项目:

mvn archetype:generate
Run Code Online (Sandbox Code Playgroud)

在Maven下载了很多工件后,它突然停止并在命令行上询问以下问题:

Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 149:
Run Code Online (Sandbox Code Playgroud)

Apache教程没有描述此提示.

我有两个问题:

1.上面要求的问题是什么?如何回答这个mvn archetype:generate过程继续进行?

2.传统上,人们是否mvn archetype:generate习惯创建Maven项目?

--------------更新---------------------

关于我的第一个问题,我按下"输入"而没有输入任何值,并得到以下输出:

Choose 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: 
Run Code Online (Sandbox Code Playgroud)

那是什么?

我在上面的情况下输入"1",然后我得到了以下内容:

Define value for property 'package':  : :
Define value for property 'groupId': : 
Define value for property 'artifactId': :
...
Run Code Online (Sandbox Code Playgroud)

我该如何定义它们?

mel*_*lik 40

mvn archetype:generatecommand用于从现有模板创建项目.许多开发人员和项目组定义了几种原型.当您运行该命令时,maven会执行以下操作:

  1. 下载maven-archetype-plugin的最新版本.
  2. 列出可用于创建项目的所有原型.如果在调用命令时定义了原型,则maven跳转到第4步.
  3. 默认情况下,maven选择maven-archetype-quickstart原型,它基本上创建了一个包含源和测试类的maven Hello World项目.如果要创建一个简单的项目,只需按Enter键继续.如果要创建特定类型的应用程序,您应该找到符合您需要的原型并输入该原型的编号,然后按Enter键.例如,如果要创建webapp项目,可以输入153(这是此原型的当前编号,它可以及时更改.)
  4. 由于原型是模板,他们打算反映当前的最佳实践,因此它们可以及时发展,因此它们有自己的版本.Maven会问你想要使用哪种版本的原型.默认情况下,maven会为您选择最新版本.因此,如果您同意使用最新版本的原型,只需在此步骤按Enter;
  5. 每个maven项目(和模块)都有groupId,artifactId和version.Maven将分三步向您询问这些问题.groupId:这在组织或项目中通常是唯一的.artifactId:artifactId通常是项目所知的名称.版本:这是命名难题的最后一部分.(更多内容)
  6. 最后,maven将询问您代码的包结构.最佳做法是创建反映groupId的文件夹结构,因此Maven将其设置为默认值,但您可以自由更改它.

输入这些信息后,Maven将向您显示您输入的所有信息,并要求您验证项目创建.如果您按Y然后输入,则使用您选择的工件和设置创建项目.

您还可以阅读maven-archetype-plugin的使用网站.


Chr*_*ris 4

它询问您想要使用哪种原型来为您的项目提供种子。如果您在出现提示时按“Enter”键,它将为您提供可用选项的列表。您可以用来maven-archetype-quickstart创建一个简单的项目(此后它可能会提示您选择一个存储库,在这种情况下,只需输入与输入后列出的第一个存储库相对应的编号)。

回答您的另一个问题:是的,使用原型是建立新项目的常见方法。主要是因为各种项目/模块都有大量的原型。一旦您知道想要哪种原型,使用它来引导项目是最简单的入门方法。

  • 您可以使用“ineractiveMode=false”开关关闭所有提示。尝试“mvn archetype:generate -DgroupId = com.mycompany -DartifactId = someProject -DinteractiveMode = false”。希望有帮助。 (5认同)