4

当我通过 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以便我可以将它保存在包文件夹中?

4

1 回答 1

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>

It is the testExcludes element that makes Maven forget the package-info.java class.

于 2013-02-13T08:48:26.153 回答