无法解决通过Maven部署文件部署的SNAPSHOT依赖关系

时间:2018-10-03 01:34:24

标签: maven spring-boot nexus

我对Nexus依赖项解析有疑问。 Nexus版本为3.13。

我有一个项目“ A”,它被用作跨不同项目的库。 我正在尝试创建 -用于DEV环境的SNAPSHOT版本 -冻结代码后,将使用RELEASE版本并部署其他环境。

我将项目“ A”作为快照部署到Maven托管的存储库(JAR文件,快照存储库)。我尝试使用uniqueVersion = false的“部署插件” 3.0.0-M1和2.8.2。但每次将时间戳记添加到Nexus(jar和POM文件)中的伪像时。时间戳没有问题,但是我无法从其他项目中解决该项目。

当我使用“最新”作为版本时,以下是响应

“缺少filename:jar:X.Y.Z-SNAPSHOT的POM,没有可用的依赖项信息”。 POM和JAR在存储库中,但是POM文件也包含时间戳后缀。

同一项目的发布库没有任何问题。

有什么主意吗?

编辑:

我仅将uniqueVersion用于版本2.8.2,对于其他版本,已经存在错误(或警告)。

要部署项目“ A”,我使用以下maven命令

mvn  deploy:deploy-file -Dfile=target/my-library-0.0.X-SNAPSHOT.jar -DpomFile=pom.xml -DrepositoryId=nexus -Durl=http://my-ip-address/repository/my-library-snapshots.

POM实际上几乎不包含通常的ID和对Lombok的依赖。

在项目B中,我仅使用以下内容

<dependency>
 <groupId>Some Group IDs</groupId>
  <artifactId>my-library</artifactId>
  <version>LATEST</version>
</dependency>

我还尝试了在链接中明确给出版本号,而不是使用LATEST。

1 个答案:

答案 0 :(得分:0)

我发现了问题。它与我的settings.xml文件有关。我在“个人资料”元素下添加了另一个元素,称为“ id”

<profiles>
    <profile>
      <id>nexus</id>