Maven archetype:generate plugin 3.0如何指定远程存储库

时间:2017-02-16 15:41:38

标签: java maven

我尝试使用原型创建maven项目,该模式在Maven central repo中不存在,但存在于另一个远程存储库中。 在 maven-archetype-plugin版本2.4 中,我可以使用-DarchetypeRepository param来指定maven应该查找我的原型的另一个repo。 在新版本(3.0)中,这个参数不起作用。 (证明:http://maven.apache.org/archetype/maven-archetype-plugin/generate-mojo.html#archetypeCatalog

所以我需要使用旧版本的插件并编写长命令,如

$ mvn org.apache.maven.plugins:maven-archetype-plugin:2.4:generate -DarchetypeGroupId=some.id -DarchetypeArtifactId=some.another.id -DarchetypeVersion=some.version -DarchetypeRepository=repo.url

如何使用maven-archetype-plugin:3.0?

执行相同的命令

我尝试使用archetypeCatalog=repo.url,但它没有这样做,我只能用它设置本地或远程仓库。

感谢。

插件开发人员的回答:

Allowing to set a URL via commandline is considered to be a security leak, so specifying the repository (id: archetype) in the settings.xml is the right way.

1 个答案:

答案 0 :(得分:-1)

您可以在settings.xml中将您的存储库指定为[archetypeArtifactId] -repo。这被定义为FAQs之一。

如果您没有身份验证,请不要在settings.xml中指定它。

OR

我刚刚运行了以下命令,

mvn org.apache.maven.plugins:maven-archetype-plugin:3.0.0:generate 
     -DarchetypeGroupId=org.grails 
     -DarchetypeArtifactId=grails-maven-archetype
     -DarchetypeVersion=1.0
     -DarchetypeCatalog=http://snapshots.repository.codehaus.org

它给了我以下警告,

  

[警告]在任何目录中都找不到原型。回到中央   存储库(http://repo.maven.apache.org/maven2)。

     

[警告]如果原型的存储库位于别处,请使用-DarchetypeRepository =。