【问题标题】:Setting JAVA_HOME for Maven on Windows 10在 Windows 10 上为 Maven 设置 JAVA_HOME
【发布时间】:2016-01-13 22:31:20
【问题描述】:

我最近升级到了 Windows 10。我正在尝试在 eclipse 中创建一个新的 maven 项目,但它似乎没有选择我的 JAVA_HOME 设置。

这里是JDK安装目录:

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

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

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

<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,但这里似乎并非如此。我在某处还缺少其他设置吗?

【问题讨论】:

标签: java eclipse windows maven maven-3


【解决方案1】:

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

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

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

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

或者,您可以使用众所周知的 Maven 属性通过设置来实现相同的目的:

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

【讨论】:

猜你喜欢
  • 2010-11-14
  • 1970-01-01
  • 1970-01-01
  • 2011-02-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多