在系统 Java 版本的 Maven 中设置 Java 版本为 11.0
Setting the Java Version in Maven with system Java version as 11.0
我目前在我的本地机器上使用 jdk 版本 11,使用 JAVA_HOME.
设置
我需要 运行 一个 java_version 作为 9 的 Maven 项目。
做同样的事情参考了 https://www.baeldung.com/maven-java-version
这是我的 pom.xml 文件
<properties>
<java.version>8</java.version>
<maven.compiler.plugin.version>3.8.0</maven.compiler.plugin.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven.compiler.plugin.version}</version>
<configuration>
<release>8</release>
</configuration>
</plugin>
</plugins>
</build>
然后我 运行 命令 "mvn clean install" 生成的 jar 文件在其清单文件中具有 java-版本 11。
这是 gemnerated jar
的 Manifest 文件片段
Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven 3.5.0
Built-By: test
Build-Jdk: 11.0.2
为什么它仍然选择 java 版本为 11,为什么不是 8?
您可以随时为特定项目显式更改 java 版本,以便它与您想要的版本一起编译。
使用 : JAVA_HOME=/path/to/jdk1.8/ mvn build
除上述之外,您还可以在 pom 中明确设置版本。
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
在 POM <properties>
部分中设置 java.version
不会更改用于与 maven-compiler-plugin
一起编译的 Java 版本。它被 Spring Boot 使用(有关相关讨论,请参阅 )。
您的构建仍在使用您机器上安装的 JDK 11(这由清单属性 Build-Jdk: 11.0.2
反映),但是,您的代码实际上是使用源代码编译的和 Java 8 的目标。 JDK 11 知道如何针对 JDK 8 等早期版本进行编译,因此您的构建工作正常。
设置全部JAVA_HOME然后执行mvn clean install
export JAVA_HOME="C:/Program Files/Java/jdk-11.0.15"
然后执行maven命令
mvn clean install
注意:导出命令在 CMD 上不起作用,请使用 gitbash 执行此命令。
我目前在我的本地机器上使用 jdk 版本 11,使用 JAVA_HOME.
设置我需要 运行 一个 java_version 作为 9 的 Maven 项目。 做同样的事情参考了 https://www.baeldung.com/maven-java-version
这是我的 pom.xml 文件
<properties>
<java.version>8</java.version>
<maven.compiler.plugin.version>3.8.0</maven.compiler.plugin.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven.compiler.plugin.version}</version>
<configuration>
<release>8</release>
</configuration>
</plugin>
</plugins>
</build>
然后我 运行 命令 "mvn clean install" 生成的 jar 文件在其清单文件中具有 java-版本 11。 这是 gemnerated jar
的 Manifest 文件片段Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven 3.5.0
Built-By: test
Build-Jdk: 11.0.2
为什么它仍然选择 java 版本为 11,为什么不是 8?
您可以随时为特定项目显式更改 java 版本,以便它与您想要的版本一起编译。
使用 : JAVA_HOME=/path/to/jdk1.8/ mvn build
除上述之外,您还可以在 pom 中明确设置版本。
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
在 POM <properties>
部分中设置 java.version
不会更改用于与 maven-compiler-plugin
一起编译的 Java 版本。它被 Spring Boot 使用(有关相关讨论,请参阅
您的构建仍在使用您机器上安装的 JDK 11(这由清单属性 Build-Jdk: 11.0.2
反映),但是,您的代码实际上是使用源代码编译的和 Java 8 的目标。 JDK 11 知道如何针对 JDK 8 等早期版本进行编译,因此您的构建工作正常。
设置全部JAVA_HOME然后执行mvn clean install
export JAVA_HOME="C:/Program Files/Java/jdk-11.0.15"
然后执行maven命令
mvn clean install
注意:导出命令在 CMD 上不起作用,请使用 gitbash 执行此命令。