【问题标题】:Maven "archetype:generate" cannot find my custom archetype, but can from interactive modeMaven“原型:生成”找不到我的自定义原型,但可以从交互模式
【发布时间】:2016-11-20 19:50:12
【问题描述】:

我按照maven official example 创建了一个maven 原型。我使用命令mvn clean install 成功地将我的自定义原型安装到我的本地存储库中。但是,当我尝试使用以下命令从原型创建新项目时:

mvn archetype:generate -DarchetypeCatalog=local -DarchetypeGroupId=aki.aboodz.archetype -DarchetypeArtifactId=my-archetype -DarchetypeVersion=1.0-SNAPSHOT -DgroupId=com.test.custom.archetype -DartifactId=archetype-example -Dversion=1.0

我得到项目 pom 未找到异常 MissingProjectException。然而,当输入命令mvn archetype:generate -DarchetypeCatalog=local,它列出了交互模式下的所有原型时,我发现我的原型安装在那里。这意味着我只能使用交互模式创建项目。

我认为我的 maven 配置有问题。

PS:我尝试从 spring-quick-start 原型创建一个项目,我遇到了同样的问题。我只能在交互模式下完成。

【问题讨论】:

    标签: java maven powershell maven-3 maven-archetype


    【解决方案1】:

    我发现问题出在使用 Windows PowerShell 输入命令。如果参数包含特殊字符(例如“-”或“.”),PowerShell 期望参数在引号内(双引号/单引号无关紧要)。当我尝试使用 cygwin 执行上述命令时,该命令成功运行,并从指定的原型创建了一个项目而没有抱怨。要在 Windows PowerShell 中执行上述命令,我们需要引用我们的参数值。命令如下:

    mvn archetype:generate -DarchetypeCatalog="local" -DarchetypeGroupId="aki.aboodz.archetype" -DarchetypeArtifactId="my-archetype" -DarchetypeVersion="1.0-SNAPSHOT" -DgroupId="com.test.custom.archetype" -DartifactId="archetype-example" -Dversion="1.0"
    

    【讨论】:

      猜你喜欢
      • 2015-08-20
      • 1970-01-01
      • 1970-01-01
      • 2019-06-05
      • 1970-01-01
      • 2015-04-19
      • 1970-01-01
      • 1970-01-01
      • 2013-05-08
      相关资源
      最近更新 更多