Maven 3 快照未部署到正确位置
maven 3 SNAPSHOTS are not deployed to the right location
我正在使用 maven 3 和 nexus 将我们的工件部署到存储库,
我看到 non-unique 选项在 maven 3 中被弃用,所以所有 SNAPSHOTS 工件都使用时间戳部署,我对此很满意,问题是看起来所有工件都不在版本 I 下指定 (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.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>
在最新版本的 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-快照&maven.extension=罐子
也许您需要下载所需的 jar,之前和之后 运行 Maven 目标
我正在使用 maven 3 和 nexus 将我们的工件部署到存储库,
我看到 non-unique 选项在 maven 3 中被弃用,所以所有 SNAPSHOTS 工件都使用时间戳部署,我对此很满意,问题是看起来所有工件都不在版本 I 下指定 (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.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>
在最新版本的 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-快照&maven.extension=罐子
也许您需要下载所需的 jar,之前和之后 运行 Maven 目标