【发布时间】:2011-05-18 09:50:31
【问题描述】:
我在 settings.xml 中有一个属性,
fwk.version = "2.0.001"
另一边,一个多项目,有两个项目,earmodule 和 ejbmodule。
ejbmodule 有一个依赖:
<dependency>
<groupId>shared-lib</groupId>
<artifactId>proxi2.fwk.comuns</artifactId>
<version>${fwk.version}</version>
<type>pom</type>
</dependency>
它可以正常工作
但是earmodule对ejbmodule有依赖
<dependencies>
<dependency>
<groupId>projectGroup</groupId>
<artifactId>ejbmodule</artifactId>
<version>1.0</version>
<type>ejb</type>
</dependency>
</dependencies>
它试图解决依赖但失败了:
[警告] 缺少共享库的 POM:proxi2.fwk.comuns:pom:${fwk.version}
而是尝试下载
shared-lib:proxi2.fwk.comuns:pom:2.0.001
当我尝试打包父项目时会发生这种情况。
看起来像 Maven3 中的一个错误
你知道为什么吗?
谢谢
编辑:
我们的解决方案/解决方法一直在父 pom 中定义一个 dependencyManagement 部分,因为在这个级别上工作正常。
然后在子项目ejbmodule中,我们有一个“独立版本”依赖,因为在dependencyManagement中使用了父定义
settings.xml:
<fwk.version>2.0.001</fwk.version>
父pom:
<dependencyManagement>
<dependency>
<groupId>shared-lib</groupId>
<artifactId>proxi2.fwk.comuns</artifactId>
<version>${fwk.version}</version>
<type>pom</type>
</dependency>
</dependencyManagement>
ejbmodule pom:
<dependency>
<groupId>shared-lib</groupId>
<artifactId>proxi2.fwk.comuns</artifactId>
<type>pom</type>
</dependency>
我希望这对其他人有帮助
【问题讨论】:
-
如果在你的父 pom 中指定相同的属性而不是 settings.xml 是否有效?另外,您是在尝试 mvn package 还是 mvn install?后者有效吗?
-
这是一个包,如果我在父 pom 中指定它也不起作用。
标签: maven dependencies settings