我正在使用maven 3和nexus将我们的工件部署到存储库,
我看到maven 3中不推荐使用非唯一选项,因此所有SNAPSHOTS工件都使用时间戳进行部署,我很酷,问题是看起来所有工件都不在我指定的版本之下( 0.6-SNAPSHOT)所以当我试图获得这种依赖时,构建失败,因为它无法找到它。
这是pom中的依赖项定义:
<dependency>
<groupId>com.globals</groupId>
<artifactId>globals-general</artifactId>
<version>0.6-SNAPSHO</version>
</dependency>
这是我尝试获取依赖项时遇到的错误:
Failed to execute goal on project mprest-mgrid-infra-cache: Could not resolve dependencies for project com.mprest.mgrid.infra:mprest-mgrid-infra-cache:jar:0.6-SNAPSHOT: Could not find artifact com.mprest.mgrid.globals:mprest-mgrid-globals-general:jar:0.6-SNAPSHOT ->
这是我的pom相关部分:
<distributionManagement>
<snapshotRepository>
<id>nexus-snapshots</id>
<url>http://nexus:8081/repository/maven-snapshots/</url>
</snapshotRepository>
<repository>
<id>nexus-releases</id>
<url>http://nexus:8081/repository/maven-releases/</url>
</repository>
</distributionManagement>
这就是结构:
答案 0 :(得分:0)
结构还可以, 0.6-SNAPSHOT下有所有带时间戳的0.6-SNAPSHOT, 和maven-metadata.xml指向最新的工件。
事实证明我需要在settings.xml中以某种方式添加存储库,以便我能够获取工件。
这就是它的样子:
<servers>
<server>
<id>nexus-snapshots</id>
</server>
<server>
<id>nexus-releases</id>
</server>
<server>
<id>maven-group</id>
</server>
</servers>
<mirrors>
<mirror>
<id>maven-group</id>
<name>maven-group</name>
<url>http://nexus:8081/repository/maven-group/</url>
<mirrorOf>*</mirrorOf>
</mirror>
</mirrors>
<profiles>
<profile>
<id>allow-snapshots</id>
<activation><activeByDefault>true</activeByDefault></activation>
<repositories>
<repository>
<id>nexus-snapshots</id>
<url>http://nexus:8081/repository/maven-snapshots/</url>
<releases><enabled>false</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
<repository>
<id>nexus-releases</id>
<url>http://nexus:8081/repository/maven-releases/</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>false</enabled></snapshots>
</repository>
</repositories>
</profile>
</profiles>
</settings>
答案 1 :(得分:0)
在最新版本的Nexus API中记录了如何检索组件的最新版本,并按存储库,组,工件和基本版本进行过滤
示例: http:// localhost:8081 / service / rest / v1 / search / assets / download?sort = version&repository = maven-snapshots&maven.groupId = org.foo.bar&maven.artifactId = project&maven.baseVersion = 1.2.3-SNAPSHOT&maven.extension =罐子
也许您需要先下载所需的jar,然后再运行Maven目标