【问题标题】:Maven can't find Package in Test-JarMaven 在 Test-Jar 中找不到包
【发布时间】: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>

出于隐私考虑,我省略了版本/工件/等,但它们正确匹配。

我错过了什么吗?

编辑:这可能不是这个问题的正确解决方案,但我刚刚删除了 &lt;type&gt;test-jar&lt;/type&gt; 并让它在不使用它的情况下工作。

【问题讨论】:

  • 在所有事情上 Maven ... POM 会说一千个单词。
  • 你评论得太快了……POM 来了 :)
  • 这一切似乎都是正确的。 ...而反应堆的pom.xml 有一个适当的&lt;modules/&gt; 部分...?你确定A和B之间没有循环依赖吗?
  • 有模块部分,没有循环依赖。
  • @eipark 你能提供更多关于“不存在”消息的上下文吗?这发生在哪个阶段/目标?您是否尝试过使用-X 运行?

标签: java eclipse maven testing


【解决方案1】:

有一个解决方法。使用 -DskipTests 代替 maven.test.skip。这 第二个也跳过了测试的编译,所以 test-jars 没有被创建。

http://maven.apache.org/plugins/maven-surefire-plugin/examples/skipping-test.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-06
    • 1970-01-01
    • 1970-01-01
    • 2020-11-09
    • 2023-03-29
    • 2010-11-24
    • 2018-10-04
    • 2022-01-04
    相关资源
    最近更新 更多