代码之家  ›  专栏  ›  技术社区  ›  gtx911

检查私有存储库中是否存在项目或依赖项

  •  1
  • gtx911  · 技术社区  · 8 年前

    这是生成 JAR工件 是的。 存储在专用存储库中 具有 Nexus存储库

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
    
      <groupId>org.home.mac</groupId>
      <artifactId>hyper-dev</artifactId>
      <version>0.0.1</version>
      <build>
        <sourceDirectory>src</sourceDirectory>
    
        <plugins>
          <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
              <source>1.7</source>
              <target>1.7</target>
            </configuration>
          </plugin>
        </plugins>  
      </build>
    
      <dependencies>
        <dependency>
            <groupId>org.home.mac</groupId>
            <artifactId>hyper-test-linux</artifactId>
            <version>0.3.5</version>
        </dependency>
      </dependencies>
    </project>
    

    我想检查两件事:

    • 如果 人工制品 我要安装的 hyper-dev-0.0.1版 存在于我的私人Maven存储库中。
    • 如果依赖于 工件ID:hyper-test-linux-0.3.5 存在于我的私人Maven存储库中。

    有可能吗?

    2 回复  |  直到 8 年前
        1
  •  1
  •   werner    8 年前

    你可以用 Nexus' Rest Api 检查工件是否存在。

    例如,URL

    http://<your private nexus server>:8081/service/rest/beta/search/assets?group=org.home.mac&name=hyper-dev&version=0.0.1&maven.extension=jar&maven.classifier
    

    会告诉你是否有人工制品 hyper-dev 在版本中 0.0.1 在您的私人关系中可用。

    如果您想自动化这个过程,您可以使用命令行工具,比如 wget curl 访问RESTAPI,如上面链接的文档所示。

    备注 :我想重复 khmarbaise 通常无法上传 发布 如果存储库中已经存在,则将工件连接到nexus。如果你想再次上传它,你必须增加版本,这样做,创建一个新的工件。更新现有工件将是一个不需要的特性,因为Maven假定下载的工件永远不会更改,并在每台机器上本地缓存它们。

    快照 工件实际上可以被更新,但您已经询问过发布的工件。

        2
  •  1
  •   Pierluigi Vernetto    7 年前

    对于nexus2(例如org.jboss.security:jboss negotiation toolkit:3.0.2.final)

    curl-i-s-u管理员:admin123 http://mynexusserver/service/local/repositories/mymavenrepo/content/org/jboss/security/jboss-negotiation-toolkit/3.0.2.Final/jboss-negotiation-toolkit-3.0.2.Final.war | grep HTTP(grep HTTP)

    这将打印“http/1.1 200 OK”(如果找到),“http/1.1 404 Not Found”(如果找不到)。