这是我的POM文件生成 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>
我想检查两件事:
有可能吗?
答案 0 :(得分:1)
您可以使用Nexus' Rest Api检查是否存在工件。
例如,网址
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
将显示您的私人Nexus中版本hyper-dev
中的工件0.0.1
是否可用。
如果要自动执行此过程,可以使用wget
或curl
等命令行工具访问Rest Api,如上面链接的文档所示。
备注:我想重复khmarbaise的评论,如果它已经存在于Nexus,通常无法将已发布的工件上传到Nexus库。如果要再次上载,则必须增加版本,然后创建新工件。更新现有工件将是一项不必要的功能,因为Maven假定下载的工件永远不会更改并在每台计算机上本地缓存它们。
实际上可以更新快照工件,但是您已经询问了已发布的工件。
答案 1 :(得分:0)
对于Nexus2(以org.jboss.security:jboss-negotiation-toolkit:3.0.2.Final为例)
curl -I -s -u admin: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
如果找到,将打印“ HTTP / 1.1 200 OK”,如果找不到,则显示“ HTTP / 1.1 404 Not Found”