在依赖的maven项目上测试失败

时间:2012-08-19 16:37:50

标签: java testing maven build dependencies

我有一个项目X依赖于项目Y的多个项目。 项目X上的测试使用项目Y来读取配置文件。 (X - > Y - > configfile) 我使用maven-jar-plugin从JAR中排除了一些配置文件。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <version>2.3.1</version>
    <inherited>true</inherited>
    <configuration>
        <excludes>
                    <exclude>*.xml</exclude>
                    <exclude>*.*conf*</exclude>
                    <exclude>*.*prop*</exclude>
        </excludes>
    </configuration>
</plugin>

在我的项目上运行“Maven测试”时,一切运行良好,所有测试都成功。 但是当运行“Maven包”时,项目X的测试失败,因为项目Y无法找到配置文件。

我最好的猜测是,在运行“包”目标时,项目X针对已经构建的项目Y的JAR而不是其.class文件运行。我对么?我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:0)

也许您可能会感兴趣的是如何创建包含the maven-jar-plugin page的测试类的jar。

我们的想法是为您的项目Y创建两个不同的jar:除了当前打包的jar之外,还有一个测试jar。你有两个maven-jar-plugin的执行,一个用于你当前的jar,一个用于test-jar,不会过滤配置文件。

要允许项目X引用项目Y的测试jar,您还需要在test scope 中为此jar添加依赖项。

请注意,该页面提供了另一种方法,其中包括创建专用于测试类的另一个Maven项目,您不会排除任何配置文件。