在 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 并将设置 source
和 target
编译为 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>
我最近升级到 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 并将设置 source
和 target
编译为 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>