我正在将我的java 6代码升级到java 7.已经更新了JAVA_HOME以指向OS X 10.9上的JDK 1.7。该代码尚未使用任何Java 7功能。
当我运行构建" mvn clean install"构建中断没有任何有用的错误消息。
构建成功,其中source = 1.6&目标= 1.6 但失败 for source = 1.7(或7)& target = 1.7(或7)
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version> <!-- tried with 2.3.2 and 3.0... no luck -->
<configuration>
<source>7</source>
<target>7</target>
<compilerArgument>-Werror </compilerArgument>
<fork>true</fork>
</configuration>
Error Message:
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 8.773 s
[INFO] Finished at: 2014-06-25T14:56:13-08:00
[INFO] Final Memory: 10M/245M
[INFO] ------------------------------------------------------------------------
[**ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:testCompile (default-testCompile) on project core: Compilation failure
[ERROR] Failure executing javac, but could not parse the error:
[ERROR] 1 error
[ERROR] -> [Help 1]**
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
答案 0 :(得分:2)
我猜测用JDK 1.7编译你的代码会产生警告,用1.6编译没有。因为你告诉编译器在遇到<compilerArgument>-Werror </compilerArgument>
的警告时简单地退出,这正是它正在做的事情,这对Maven不是很友好。我猜Maven吞下原来的警告,支持显示javac进程意外退出的错误。
删除<compilerArgument>-Werror </compilerArgument>
指令应允许继续编译。您可能需要处理编译器警告,而不是让编译器退出,可能是通过查看/解析Maven输出。