2013-04-05 73 views
0

我是Maven的新手,但总体情况是我需要下载(在命令行中)位于远程Maven存储库(Artifactory)中的某个工件的POM文件,只使用它的名称并动态制作(通过只给出存储库根路径和工件名称,所以我可以更改它在存储库中的位置并仍然下载它)。使用它的Maven工件下载特定的POM文件

我的第一个问题是:是可能的,或者我必须详细说明整个工件路径,groupId,artifactId和版本?

观点二: 我设法用这个行家命令下载神器,但只得到该.jar,而不是POM文件:

mvn dependency:get -DrepoUrl=MY_REPO_LOC 
        -Dartifact=MY_ARTIFACT_LOC:MY_ARTIFACT_NAME:ARTIFACT_VERSION 

我如何能做到这一点任何想法?

+1

请尝试添加'-Dartifact = MY_ARTIFACT_LOC:MY_ARTIFACT_NAME:ARTIFACT_VERSION:pom'。 – 2013-04-05 11:48:38

+0

为什么要做这样奇怪的事情?你喜欢用那个神器作为依赖吗?如果是,只需简单地将其他项目中的依赖项定义为相应的工件即可。 – khmarbaise 2013-04-05 13:17:38

回答

2

首先,你不需要maven。您可以选择一个二进制存储库,它可以直接为您提供解决方案。这是如何:

因为你不知道工件的位置(我假设存储库的名称?因为所有的休息都被Maven锁定,你知道所有的路径,如果你知道GAVC),你不想列出groupId和版本,你必须搜索并准备好接收多个结果,在这些结果中你必须暗示一些逻辑来确定你需要哪一个。 以下是您如何从命令行在Artifactory中搜索:http://wiki.jfrog.org/confluence/display/RTF/Artifactory%27s+REST+API#Artifactory%27sRESTAPI-SEARCHES 我推荐GAVC Search,因为您知道artifactId。

如果只有它是未知的版本,而你只是想获得最新的版本,你可以使用latest artifact retrieval来电或latest version search

+0

我完全放弃了我的方法。 无论如何感谢[JBaruch](http://stackoverflow.com/users/402053/jbaruch)。 – 2013-04-11 09:42:55