无法使用与测试用例类相同的包中的package-info.java文件通过maven运行测试

时间:2013-02-13 08:45:01

标签: maven

今天,当我通过Maven运行一个简单的测试类时,最奇怪的事情发生了。在Eclipse IDE中,没有任何问题。

我的包有一个JUnit测试用例类和一个package-info.java文档类。

我发现package-info.java以某种方式干扰了Maven编译器插件。删除后,测试运行正常。

当包中存在package-info.java时,Maven会将其写入日志:

[ERROR] Failure executing javac, but could not parse the error:
javac: invalid source release: **/*.java
Usage: javac <options> <source files>
use -help for a list of possible options

如何让Maven跳过package-info.java以便我可以将其保存在包文件夹中?

1 个答案:

答案 0 :(得分:4)

几天前我遇到了完全相同的问题,并通过在我的pom.xml文件中输入它来解决它:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>2.3.2</version>
    <configuration>
        <source>1.6</source>
        <target>1.6</target>
    </configuration>
    <executions>
        <execution>
            <phase>test-compile</phase>
            <goals>
                <goal>testCompile</goal>
            </goals>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
                <testSource> **/*.java</testSource>
                <testExcludes>
                    <exclude>**/package-info.java</exclude>
                </testExcludes>
            </configuration>
        </execution>
    </executions>
</plugin>

使用Maven忘记package-info.java类的testExcludes元素。