使用源1.7(或7)的Java maven构建失败

时间:2014-06-25 22:06:58

标签: java maven java-7

我正在将我的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

1 个答案:

答案 0 :(得分:2)

我猜测用JDK 1.7编译你的代码会产生警告,用1.6编译没有。因为你告诉编译器在遇到<compilerArgument>-Werror </compilerArgument>的警告时简单地退出,这正是它正在做的事情,这对Maven不是很友好。我猜Maven吞下原来的警告,支持显示javac进程意外退出的错误。

删除<compilerArgument>-Werror </compilerArgument>指令应允许继续编译。您可能需要处理编译器警告,而不是让编译器退出,可能是通过查看/解析Maven输出。