在我的机器上,我安装了两个Java版本:(1.6和1.7由我手动安装)。我在不同的项目中都需要他们。但对于Maven,我需要1.7,但我的Maven使用1.6 Java版本。

如何将Maven设置为使用1.7?


当前回答

在windows上

如果您不希望更改系统变量中的JAVA_HOME变量。

编辑mvn.bat文件并添加如下一行

set JAVA_HOME=C:\Program Files\Java\jdk1.7.0_45\jre

这可以在@REM ==== START VALIDATION ====之后完成,就像@Jonathan提到的那样

在Mac(和Linux ?)

如果您不想在~/中更改JAVA_HOME变量。bashc或~/.bash_profile

您可以创建一个~/。使用JAVA_HOME工具重新定义您的JAVA_HOME

export JAVA_HOME=`/usr/libexec/java_home -v 1.7.0_45`

完整性检查

您可以通过执行以下命令来验证一切是否正常工作。jdk版本应该不同。

mvn - version

then

java - version

其他回答

set JAVA_HOME=C:\Program Files\Java\jdk1.7.0_45\jre

在$MAVEN_HOME\bin\mvn中添加上述代码行作为第一条语句。cmd在Windows 10中立即为我工作了。

在不改变环境变量的情况下,您可以使用Maven Compiler Plugin基于项目级别管理java版本。

方法1

<properties>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
</properties>
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

方法2

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.7</source>
                <target>1.7</target>
            </configuration>
        </plugin>
    </plugins>
</build>

设置Java默认版本 您的系统上可能有两个不同版本的Java。要设置一个为默认值,使用命令:

Sudo选项——配置Java

系统显示不同Java版本的列表。如果您喜欢默认设置,请按Enter。

如果您想更改它,输入您想要的版本号,然后按Enter。

我使用了@Jonathan的基本想法。 我设置了窗口:set JAVA_HOME=C:\Program Files\java\AdoptOpenJDK-11.0.8+10 调用mvn清理包-DskipTests

用上面的答案我无法解决这个问题,我尝试了很多方法来解决这个问题,我得到了它。我希望像我这样的人能解决这个问题。

我正在使用brew安装java和maven。 对我来说,我想使用java 1.8。所以我安装了java 1.8 但是maven仍然使用17.0.2版本

解决方案: 安装Java 1.8 我参考这个网站来安装它:https://devqa.io/brew-install-java/

MVN——版本,记住版本\

cat /usr/local/Cellar/maven/VERSION(for me 3.8.5)/bin/mvn

然后你会看到

#!/bin/bash
JAVA_HOME="${JAVA_HOME:-/usr/local/opt/openjdk/libexec/openjdk.jdk/Contents/Home}" exec "/usr/local/Cellar/maven/3.8.5/libexec/bin/mvn"  "$@"\

检查这个目录

ls /usr/local/opt

您将看到openjdk、openjdk@17、openjdk@8等文件

在MVN文件中将openjdk目录更改为openjdk@8:

#!/bin/bash
JAVA_HOME="${JAVA_HOME:-/usr/local/opt/openjdk@8/libexec/openjdk.jdk/Contents/Home}" exec "/usr/local/Cellar/maven/3.8.5/libexec/bin/mvn"  "$@"\