在 Windows 10 上为 Maven 设置 JAVA_HOME

Setting JAVA_HOME for Maven on Windows 10

我最近升级到 Windows10。我试图在 eclipse 中创建一个新的 maven 项目,但它似乎没有采用我的 JAVA_HOME 设置。

这里是JDK安装目录:

这是我的 JAVA_HOME 环境变量设置:

如果我在命令提示符下 运行 mvn -version,maven 似乎确实获得了 JAVA_HOME:

的正确值

然后我尝试在 eclipse 中创建一个新的 maven 项目,使用准系统 pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>StaticVoidGames</groupId>
    <artifactId>DatabaseTest</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>DatabaseTest</name>
</project>

但是由于某些原因项目的JRE是1.5:

值得一提的是,我的 eclipse 工作区默认 JRE 与我的 JAVA_HOME 设置相同。

我曾尝试手动更改构建路径以使用正确的 jdk,但它只是恢复原状。我试过清理项目、更新 maven、重新启动 eclipse、重新启动我的计算机并创建一个新项目。 Maven 仍然选择 Java 1.5,它甚至没有安装在我的机器上。

我所有的谷歌搜索都说 Maven 应该选择 JAVA_HOME 设置来确定要使用哪个 Java,但这里似乎并非如此。是否还有我遗漏的其他设置?

根据屏幕截图,Maven 正确获取了您的 JAVA_HOME,但是您在 Eclipse 中看到的不是安装的 Java 版本 (1.5),而是 Maven 默认使用的版本编译.
在您的情况下,Maven 将使用 JDK 1.8 并将设置 sourcetarget 编译为 1.5(默认版本)。

要将Maven设置为与安装的Java版本相同的级别,您需要配置Maven Compiler Plugin。一旦完成并在 Eclipse 更新后(右键单击项目,Maven,更新项目),Eclipse 将相应地更新其视图。

您可以将以下 Maven 编译器插件添加到您的 POM configuration:

<project>
  [...]
  <build>
    [...]
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.3</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
    </plugins>
    [...]
  </build>
  [...]
</project>

或者,您可以使用 well-known Maven 属性来实现相同的设置:

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