今天,当我通过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
以便我可以将其保存在包文件夹中?
答案 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元素。