Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Search 如何从命令行确定我的repo中是否有Maven工件?_Search_Maven_Artifacts - Fatal编程技术网

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

Search 如何从命令行确定我的repo中是否有Maven工件?,search,maven,artifacts,Search,Maven,Artifacts,我想从命令行检查是否可以在存储库中找到某个坐标(groupId.artifactId.version) 如果可能,是否可以使用部分坐标(例如artifactId.version)完成?我可以指定回购协议吗 我不要求解决方法-我可以简单地在本地repo中启动文件搜索,或者在POM中输入工件并等待错误,或者安装Nexus并通过UI进行搜索 这是一件很方便的事情-一旦使用CLI,能够快速检查就好了。我从来没有听说过这样的事情。可能get依赖性插件的目标很接近,但它仍然不是您想要的。恐怕没有这种事。然而

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

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

我不要求解决方法-我可以简单地在本地repo中启动文件搜索,或者在POM中输入工件并等待错误,或者安装Nexus并通过UI进行搜索


这是一件很方便的事情-一旦使用CLI,能够快速检查就好了。

我从来没有听说过这样的事情。可能
get
依赖性插件的目标很接近,但它仍然不是您想要的。恐怕没有这种事。然而,编写自己的Maven插件来实现您想要的功能可能非常简单。Maven 3中新的工件解析机制称为乙醚,它有非常好且简单的API

无论如何,看看依赖插件:


这是我认为最接近你的:

mvn dependency:get -Dartifact=g:a:v -o -DrepoUrl=file://path/to/your/repo
我已经尝试过了,如果工件(例如“junit:junit:4.8.2”)在您的repo中,它就会成功,如果它不在,它就会失败,但是您必须将本地repo的完整路径作为URL写入


关键是要使用-o(脱机)标志,否则maven将始终检查中央回购。

如广告所示工作,尽管相当繁琐。我本以为-o会使repoorl变得多余(但尝试了,却没有)。谢谢。@kostja我知道,maven有时最明显的要求是最难实现的:-(+1。注意:到目前为止,repoUrl已被弃用,请改用。为我指明了正确的方向,谢谢。不过我确实考虑过自己写一个mvn插件,不得不强迫自己保持专注:)考虑建立像Nexus或Actudio这样的存储库管理器。两者都为用户提供基于web的GUIsearching@MarkO“谢谢康纳,我熟悉Nexus并在工作中使用它,但是在我的个人笔记本电脑上,我认为这是过分的(用Eclipse、詹金斯和浏览器来划分我的RAM本身)),但我发现Nexus对资源非常轻,坦白地说,没有它我无法生存。我在与网络断开连接时进行了很多构建,发现Nexus作为存储库缓存工作得更好。同意。这是我在Nexus培训中提出的建议,我一直在自己跑步。Nexus(或任何repo管理器)是更好的Maven离线模式。Nexus的cpu非常轻,但是300-500mb内存(默认设置)太多了