【发布时间】:2013-04-11 13:24:23
【问题描述】:
我试图在测试期间在另一个 maven 模块中使用 test-jar 依赖项。因此,就像在这个问题 (Maven test dependency in multi module project) 和 maven 指南中一样,我在模块 A 中放置了一个 test-jar 目标,并在模块 B 中依赖它,我想在测试中使用 A 中的一些类。 Eclipse 可以正确识别我的所有类,当我从项目根目录运行全新安装,然后在模块 B 中运行 mvn dependency:tree 时,我会看到模块 A。
但是,当我运行 mvn clean install 时,maven 抱怨说
... package 'my.package.in.module.A' does not exist
我的项目结构是
reactor
--module A
--module B
Pom A:
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.2</version>
<executions>
<execution>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
...
Pom B:
...
<dependency>
<groupId>com.company.moduleA</groupId>
<artifactId>module-A</artifactId>
<version>moduleA-version</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
出于隐私考虑,我省略了版本/工件/等,但它们正确匹配。
我错过了什么吗?
编辑:这可能不是这个问题的正确解决方案,但我刚刚删除了 <type>test-jar</type> 并让它在不使用它的情况下工作。
【问题讨论】:
-
在所有事情上 Maven ... POM 会说一千个单词。
-
你评论得太快了……POM 来了 :)
-
这一切似乎都是正确的。 ...而反应堆的
pom.xml有一个适当的<modules/>部分...?你确定A和B之间没有循环依赖吗? -
有模块部分,没有循环依赖。
-
@eipark 你能提供更多关于“不存在”消息的上下文吗?这发生在哪个阶段/目标?您是否尝试过使用
-X运行?
标签: java eclipse maven testing