首页 > 解决方案 > 在 Maven 中设置 Java 版本,系统 Java 版本为 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-version 为 11。这是生成的 jar 的清单文件的片段

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?

标签: javamavenversionpom.xmljava-11

解决方案


您可以随时为特定项目显式更改 java 版本,以便它与您想要的版本相编译。

使用JAVA_HOME=/path/to/jdk1.8/ mvn build

除了上述之外,您还可以在 pom.xml 中明确设置版本。

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

推荐阅读