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

标签 java eclipse maven java-8

在我的 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"

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

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

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

最佳答案

设置

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

properties of your pom .

您不应该在 settings.xml 中设置此项,因为您会强制其他人更改他们的 settings.xml 并默认在他们的所有其他项目中使用 JDK8!

关于java - 我的 Java 8 源代码的 Maven 编译失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39984590/

相关文章:

java - Android 中的 onLayout() 行为

javascript - Eclipse HTML5 项目 - JavaScript 代码辅助仅在某些情况下有效

java - 在哪里可以找到 Tomcat-JDBC 池的公共(public) Maven 存储库?

java - 计算当前年龄;使用Java

java - 使用 Java 中的基本身份验证连接到 URL - java.net.ConnectException : Connection refused: connect

java - Eclipse + Maven + Dynamic Web Project -> Maven 覆盖 Deployment Assembly

java - android sdk无法创建项目

git - 使用 Maven SCM 检查 Git 存储库并切换到特定分支

java - 如何配置pom文件和TeamCity在maven java项目中构建依赖模块?

Java equals 方法。如何返回比较对象内每个属性的多个 boolean 值