【问题标题】:determine if artifact exists in a remote repo without downloading it确定工件是否存在于远程仓库中而不下载它
【发布时间】:2013-11-14 01:18:24
【问题描述】:

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

除了我不想从 mojo 中确定工件的存在。

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

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

有什么想法可以检查工件是否存在于 Maven 存储库中,而无需先下载它?

【问题讨论】:

    标签: maven


    【解决方案1】:

    如果给定 Maven 存储库的 URL,Maven Wagon 插件可以确定工件是否存在: 您必须事先使用 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
    

    【讨论】:

    • 这对我有用,特别是因为旅行车可以通过 settings.xml 获取凭据。谢谢!
    • 看来 wagon 文档很简陋。有这样的事情吗? mvn wagon:notexist -Dwagon.url=repo1.maven.org/maven2/javax/servlet/jstl/1.2 我只想上传不存在的工件。
    猜你喜欢
    • 2018-10-31
    • 1970-01-01
    • 2017-05-23
    • 2021-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多