Java Maven无法从不同的模块中找到测试超类

Java Maven无法从不同的模块中找到测试超类,java,maven,Java,Maven,我有两个模块mod1和mod2来自同一个父项目。 mod2依赖于mod1,mod2 pom.xml包含以下依赖性 <dependency> <groupId>com.project</groupId> <artifactId>mod1</artifactId> <version>${project.version}</version> </dependency> 在mod2中

我有两个模块mod1和mod2来自同一个父项目。 mod2依赖于mod1,mod2 pom.xml包含以下依赖性

<dependency>
    <groupId>com.project</groupId>
    <artifactId>mod1</artifactId>
    <version>${project.version}</version>
</dependency>
在mod2中,
src/test/java
我定义了一个继承这个类的测试类

public class Mod2Test extends ServicesAbstractTest {
...
}
这些都是JUnit4测试。当我直接在Eclipse中运行测试时,它工作得很好。但是当我执行
mvn干净安装时,它不起作用,有编译错误显示maven在编译和测试mod2时没有找到
ServicesAbstractTest

我试着用在类似问题上所说的话:另外还有两个问题:

奇怪的

Could not find goal 'test-jar' in plugin org.apache.maven.plugins:maven-surefire-plugin:2.2 among available goals test -> [Help 1]

模块2还有更多的编译问题:我想我需要在这里指定额外的范围,不仅仅是测试,我还将对此做进一步的研究。这就是我看到的

public class Mod2Test extends ServicesAbstractTest {
...
}
经验教训

  • 当发现问题时,开始尽可能准确地提问 可能的这是指向最重要的方面的最佳方式 你的问题的相关答案。你可能会认为你正在失败 写问题的时间与谷歌搜索的时间相比 代码错误。实际上,你正在更快地找到正确答案

  • 当你刚刚做了一件傻事时,不要羞于装傻 打字错误或类似错误:第二只眼睛总是最好的。大概花了20秒,1337joe才指出我对插件的困惑,我可能花了几个小时太深地卷入了这个问题


  • 您收到的错误消息听起来像是您试图将“test jar”目标添加到surefire插件的配置中,而不是实际具有该目标的maven jar插件。非常感谢1337 Joe