Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
即使Java_HOME设置为JDK11,maven也采用Java1.5默认值_Java_Maven_Pom.xml - Fatal编程技术网

即使Java_HOME设置为JDK11,maven也采用Java1.5默认值

即使Java_HOME设置为JDK11,maven也采用Java1.5默认值,java,maven,pom.xml,Java,Maven,Pom.xml,我正在使用JDK11,我的应用程序有大约20个项目。现在我希望我的maven选择JAVA_HOME,而不是使用maven编译器插件或属性更改所有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 (r01de14724cdef164cd33c7c8c2f

我正在使用JDK11,我的应用程序有大约20个项目。现在我希望我的maven选择JAVA_HOME,而不是使用maven编译器插件或属性更改所有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 clean install时,我得到以下错误:

[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.


您所使用的JDK与您编译的Java版本之间存在差异。您可以使用JDK11很好地编译Java8(仅一个示例)

你需要设置

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

1.8
1.8
在POM中,转换为要为其构建的Java版本(另请参见)


对于Java 11,还可以看一看。

您使用的JDK和您编译的Java版本之间存在差异。您可以使用JDK11很好地编译Java8(仅一个示例)

你需要设置

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

1.8
1.8
在POM中,转换为要为其构建的Java版本(另请参见)


对于Java 11,请看一看。

我已经能够通过以这种方式更改应用程序的所有pom.xml文件来做到这一点,但我不想这样做。我想让我的maven根据maven编译器插件3.8.0为源代码和目标或版本选择JAVA_主页集,但这是无法做到的。我们有一家公司的母公司POM来管理这些版本。或者,您可以在命令行中指定它们。如果它根据环境变量的不同而工作得不同,那么在其他人的机器上工作得就不太好,您需要提供额外的安装说明。如果您想使用maven编译器插件:3.8.0,您也必须指定它。从错误消息中,您当前正在使用2.3.2。(但即使3.8.0默认为Java语言级别1.6,您也应该在构建中指定更高的版本)Maven有它的怪癖。虽然单调乏味,但从长远来看是值得的。我已经能够通过这种方式更改应用程序的所有pom.xml文件来做到这一点,但我不想这样做。我想让我的maven根据maven编译器插件3.8.0为源代码和目标或版本选择JAVA_主页集,但这是无法做到的。我们有一家公司的母公司POM来管理这些版本。或者,您可以在命令行中指定它们。如果它根据环境变量的不同而工作得不同,那么在其他人的机器上工作得就不太好,您需要提供额外的安装说明。如果您想使用maven编译器插件:3.8.0,您也必须指定它。从错误消息中,您当前正在使用2.3.2。(但即使3.8.0默认为Java语言级别1.6,您也应该在构建中指定更高的版本)Maven有它的怪癖。单调乏味,但从长远来看是值得的。您必须明确地告诉编译器您要编译的Java版本。这使您的构建更加健壮。此外,您应该使用最新版本的Maven来获得Java 11的最新错误修复。您必须明确地告诉编译器您要编译的Java版本。这使您的构建更加健壮。此外,您还应该使用最新版本的Maven来获得Java11的最新错误修复。