繁体   English   中英

我的Java 8源代码的Maven编译失败

[英]Maven compilation of my Java 8 source code fails

在我的Mac上,我正在尝试编译我编写的一些Java 8源代码。 它在Eclipse中编译良好,但是在Maven中,编译失败。

我收到以下形式的多个错误:

[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] /Users/admin/eclipse/workspaces/default/Java8/src/main/java/language/utilities/MapDemo.java:[14,33] lambda expressions are not supported in -source 1.7
  (use -source 8 or higher to enable lambda expressions)

运行mvn -v将产生:

Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T16:41:47+00:00)
Maven home: /Users/admin/apache-maven-3.3.9
Java version: 1.8.0_91, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/jre
Default locale: en_IE, platform encoding: UTF-8
OS name: "mac os x", version: "10.12", arch: "x86_64", family: "mac"

运行export命令显示JAVA_HOME变量设置为:

JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home"

什么是“-源”属性? 如果我的Java版本是Java 8,为什么需要设置它?

<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>

pom属性中

您不应在settings.xml中进行settings.xml因为默认情况下您会强迫其他人更改其settings.xml并在其所有其他项目中使用JDK8!

您需要配置插件maven-compiler-plugin来设置要使用的版本和目标版本

<plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
    </configuration>
</plugin>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM