maven - 在不下载的情况下确定远程仓库中是否存在 Artifact

标签 maven

这可能类似于:Maven: How to check if an artifact exists?

除了我不想从魔力中确定 Artifact 的存在。

我想知道该 Artifact 是否存在于我的 repo 中,最好仅从命令行。 (即 mvn some:plugin -Drepo... -Dgroup... -Dversion... -Dartifact... 等。

我想知道这一点的原因是:我们有一个 yum 存储库,我们正在将它迁移到 Sonatype Nexus 存储库,这是一个隐藏的 maven 存储库。我不想“mvn deploy”一个巨大的 rpm 只是让它失败,因为它已经存在于 repo 中。如果它存在于 repo 中,我不想部署它。

有什么想法可以检查maven repo中是否存在 Artifact 而无需先下载它?

最佳答案

如果给定一个指向 Maven 存储库的 URL,Maven Wagon 插件可以确定 Artifact 是否存在:
您必须事先使用 groupId、artifactId 等构建该 URL。
mvn wagon:exist -Dwagon.url=http://repo1.maven.org/maven2/javax/servlet/jstl/1.2
在您的项目中运行时,将产生:

[INFO] 
[INFO] --- wagon-maven-plugin:1.0-beta-4:exist (default-cli) @ proj ---
[INFO]  exists. 
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS

关于maven - 在不下载的情况下确定远程仓库中是否存在 Artifact ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19967720/

相关文章:

java - 即使在其他平台上运行,也使用 Maven 程序集插件设置 Linux 文件权限?

java - 在没有项目的情况下执行 Maven 目标

java - 无法执行spring boot jar

java - Maven 版本范围拾取意外的依赖

linux - dockerfile中的yum-没有启用的存储库

java - 文档根元素 "beans",必须匹配 DOCTYPE 根 "null"

java - 如何在 OSX Lion 上使用 xvnc 配置 jenkins for maven 项目

java - 强制 maven 重新导入的 IntelliJ 快捷方式

maven - 如何为多模块项目中的特定模块激活 Maven 配置文件

java - 我应该如何在 Maven 管理的 Java 项目中发现测试资源文件?