创建maven项目时如何选择过滤器编号?

问题描述 投票:0回答:4

我是maven新手,想使用maven创建一个spring项目。下面提到的是我正在使用的命令:

mvn archetype:generate -DgroupId=com.rakesh.core -DartifactId=Spring3Example 
-DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

它要求:

  • 选择一个数字或应用过滤器(格式:[groupId:]artifactId, case 敏感内容):

它要求什么?我尝试了所有数字,我收到此消息:

Your filter doesn't match any archetype (hint: enter to return to initial list)

请帮忙。

spring maven
4个回答
20
投票

我在复制并粘贴教程中的示例时遇到了同样的问题。 经过一番摸索后,我发现这是一个空白问题。我将命令粘贴到文本编辑器中并删除了一些空格:

mvn archetype:generate -DgroupId=com.mkyong.common -DartifactId=RESTfulExample -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false

这对我有用。


0
投票

当您有此类问题时,添加 Maven 的版本总是明智的,这样其他人就能够重现该问题。 执行即可获取信息

mvn --version

我无法使用 Maven 3.0.5 重现它,因此您可能使用的是旧版本的 Maven。 也许 Maven 也选择了旧版本的原型插件。 如果你像这样运行它(使用 groupId、artifactId 和插件版本),那么你 100% 确定它使用指定的版本:

mvn org.apache.maven.plugins:maven-archetype-plugin:2.2:generate 
    -DgroupId=com.rakesh.core 
    -DartifactId=Spring3Example
    -DarchetypeArtifactId=maven-archetype-quickstart
    -DinteractiveMode=false

0
投票

拉克什,

您是否正在尝试加载您下载的原型 .jar 文件?我相信这就是使用 -DarchetypeArtifactId=maven-archetype-quickstart 命令时 Maven 所期望的。

查看类似的帖子以获取可能的解决方案:

Maven 3:Stripes Archetype - 无法创建项目?.

作为替代方案,我建议您阅读这个优秀的教程,其中从命令行生成 Maven Java Web 应用程序项目:

http://www.mkyong.com/maven/how-to-create-a-web-application-project-with-maven/


0
投票

尽管这很旧,但它并没有关闭。 其他人可能需要知道这一点。

我也遇到过同样的情况。 当将

generate
与自定义原型一起使用时,maven 在交互模式下呈现此输出。

由于原型项目中的编辑,我已经完成了两次

mvn install
。 因此,向我呈现了两个原型。 我需要输入最左边的数字(3489 或 3490),以便 Maven 能够选择正确的原型来生成项目。

我现在将研究如何删除原型,以便只存在一个自定义原型。

3487: remote -> za.hyperdrive:component-archetype_2.11 (-)

3488: remote -> za.hyperdrive:component-archetype_2.12 (-)

3489: local -> com.my-package-name:my-archetype (my-archetype)

3490: local -> com.my-package-name.archetypes:my-archetype (my-archetype)

Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): : 

© www.soinside.com 2019 - 2024. All rights reserved.