如何从命令行确定Maven工件是否在我的repo中?

kos*_*tja 18 search artifacts maven

我想从命令行检查是否groupId.artifactId.version可以在存储库中找到某个coordinate().

如果可能,可以使用部分坐标(例如artifactId.version)吗?我可以指定回购吗?

我不要求解决方法 - 我可以简单地在我的本地仓库中启动文件搜索,或者在POM中输入工件并等待错误,或者安装Nexus并在UI上搜索...

这是一个方便的事情 - 一旦在CLI上,能够快速检查将是很好的.

Sea*_*oyd 26

这是我认为你会得到的最接近的:

mvn dependency:get -Dartifact=g:a:v -o -DrepoUrl=file://path/to/your/repo
Run Code Online (Sandbox Code Playgroud)

我试过了,如果工件(例如"junit:junit:4.8.2")在你的仓库中就会成功,如果不存在则会失败,但是你必须把你当地仓库的完整路径写成URL .

关键是使用-o(离线)标志,否则maven将始终检查中央仓库.

  • +1.注意:截至目前,*repoUrl*已弃用,请改用[**remoteRepositories**](http://maven.apache.org/plugins/maven-dependency-plugin/get-mojo.html#remoteRepositories). (3认同)