【发布时间】:2016-08-12 16:36:03
【问题描述】:
首先,我想承认我的头衔很丑陋。如果有人在听到我的问题后能想出一个更合适的标题然后删除这部分帖子,请随意这样做。
由于多捕获异常块,我最近在mvn clean install 期间遇到了编译错误。它的投诉error: multi-catch statement is not supported in -source 1.5。很直接。
除了我的-mvn version 和-java version 都在1.8 和Eclipse 中的Java Compiler 下显示1.8 和Java Build Path 在jre1.8.X 显示我的JRE System Library。
进入这篇文章:Why can't java 7 use diamond operator and multi-catch statement 并尝试了这个答案。所以在我插入的pom的<build><plugins>中:
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
现在构建良好。在基本层面上,我理解这传达给编译器它应该使用Java 1.8。但是怎么做?为什么在我把它放在我的pom.xml 之前,其他所有东西都设置在1.8 似乎并不重要?当我没有 multi-catch 块时,它在这个插件标签之前构建得很好,那么改变了什么?
【问题讨论】:
-
echo %JAVA_HOME% 打印什么?
-
@Jean-FrançoisSavard 实际上在发布之前的故障排除时也有同样的想法。它也是
Java 8,但M2_HOME 使用Java 7也将其切换为8。所以一切都是张贴Java 6 -
Eclipse 设置不会影响
mvn的作用或mvn默认值,现在是1.5