即使将JAVA_HOME设置为JDK11,maven仍将Java 1.5作为默认值

时间:2019-09-05 05:49:51

标签: java maven pom.xml

我正在使用JDK 11,我的应用程序有大约20个项目。现在,我希望我的maven选择JAVA_HOME,而不是使用maven-compiler-plugin或按属性更改所有pom.xml。 我已经将JAVA_HOME设置为JDK 11 mvn -v

的输出
OpenJDK 64-Bit Server VM warning: Ignoring option MaxPermSize; support was removed in 8.0
Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 19:21:28+0530)
Maven home: /home/krawler/apache-maven-3.0.5
Java version: 11.0.4, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-11-openjdk-11.0.4.11-0.el7_6.x86_64
Default locale: en_IN, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-957.1.3.el7.x86_64", arch: "amd64", family: "unix"

但是当我运行 mvn全新安装时,出现以下错误:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project mavenKwlCommonLibs: Compilation failure: Compilation failure:
[ERROR] error: Source option 5 is no longer supported. Use 6 or later.
[ERROR] error: Target option 1.5 is no longer supported. Use 1.6 or later.

1 个答案:

答案 0 :(得分:2)

您使用的JDK与要编译的Java版本之间有区别。您可以使用JDK 11很好地为Java 8编译(只是一个示例)。

您需要设置

  <properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>
在您的POM中

您要构建的Java版本(另请参见https://maven.apache.org/plugins/maven-compiler-plugin/examples/set-compiler-source-and-target.html

对于Java 11,也请查看https://stackoverflow.com/a/51586202/927493