2017-02-16 87 views
0

我试图使用Maven中央仓库中缺少的archetype创建maven项目,但存在于另一个远程仓库中。 maven-archetype插件版本2.4我可以使用-DarchetypeRepository参数来指定另一个回购,其中maven应该寻找我的原型。 在新版本(3.0)中,此参数不起作用。 (证明:http://maven.apache.org/archetype/maven-archetype-plugin/generate-mojo.html#archetypeCatalogMaven原型:生成插件3.0如何指定远程仓库

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

$ 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的原型 - 插件相同的命令: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. 

回答

0

你可以在你的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 =如果archetype的存储库在别处。

+0

然后我应该使用什么命令来生成特殊回购的原型,而不是中央? – Limmy

+0

您是否尝试过使用3.0.0插件的-DarchetypeRepository参数? – Limmy