【发布时间】:2015-11-14 04:12:02
【问题描述】:
我在多个模块之间共享 src/test 类,方法与 attaching tests guide 和 following question 中描述的类似。
所以,我有以下 pom.xml 依赖项:
<dependency>
<groupId>com.myco.app</groupId>
<artifactId>foo</artifactId>
</dependency>
<dependency>
<groupId>com.myco.app</groupId>
<artifactId>foo</artifactId>
<version>1.0.0-SNAPSHOT</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
但是,与上面的问题相反,在附加 test-jar 时,我不想指定特定的 test-jar 版本。和编译级别依赖一样:
<dependency>
<groupId>com.myco.app</groupId>
<artifactId>foo</artifactId>
<type>test-jar</type>
<scope>test</scope>
</dependency>
在这种情况下,我的 pom.xml 出现错误,显示有关缺失版本的消息。为什么会这样?为什么我可以指定 没有版本的依赖项 而不是 test-jar ?有没有办法克服这个问题并让 test-jar 使用它可以找到的最新 jar?
【问题讨论】:
-
看看这个答案是否符合您的需求:stackoverflow.com/questions/30571/…
-
这是多模块构建吗?
-
@khmarbaise,是的,这是一个多模块构建。
-
@PauloSantos 谢谢,这是一个很好的来源。但我的问题不止于此 - 我想了解首先为什么,在我的情况下定义没有版本的依赖项不起作用(即使这不是推荐的做法)。
-
指定没有版本的依赖是行不通的,因为 maven 就是这样设计的。但它只适用于插件,当你不指定插件
时,maven 将使用最新版本。 我知道 允许您使用没有版本的依赖项的唯一情况是,当您在 标记中已经定义了依赖项(带有版本)时