我想从命令行检查是否可以在存储库中找到某个坐标(groupId.artifactId.version
)。
如果可能,可以使用部分坐标(例如artifactId.version
)吗?我可以指定回购吗?
我不要求解决方法 - 我可以在本地仓库中启动文件搜索,或者在POM中输入工件并等待错误,或者安装Nexus并在UI上搜索...
这是一件很方便的事情 - 一旦在CLI上,能够快速检查就会很好。
答案 0 :(得分:25)
这是我认为你最接近的地方:
mvn dependency:get -Dartifact=g:a:v -o -DrepoUrl=file://path/to/your/repo
我试过了,如果工件(例如“junit:junit:4.8.2”)在你的仓库中,它会成功,如果不存在则会失败,但是你必须写出你当地仓库的完整路径作为一个URL。
关键是使用-o(离线)标志,否则maven将始终检查中央仓库。
答案 1 :(得分:1)
我从未听说过这样的事情。 get
插件的dependency
目标可能在某种程度上接近,但它仍然不是您正在寻找的。我担心没有这样的事情。但是,使用自己想要的Maven插件可能非常简单。 Maven 3中新的神器解析机制,称为Aether,具有非常好的简单API。
无论如何,看看依赖插件:
http://maven.apache.org/plugins/maven-dependency-plugin/get-mojo.html