在我的机器上,我安装了两个Java版本:(1.6和1.7由我手动安装)。我在不同的项目中都需要他们。但对于Maven,我需要1.7,但我的Maven使用1.6 Java版本。
如何将Maven设置为使用1.7?
在我的机器上,我安装了两个Java版本:(1.6和1.7由我手动安装)。我在不同的项目中都需要他们。但对于Maven,我需要1.7,但我的Maven使用1.6 Java版本。
如何将Maven设置为使用1.7?
当前回答
在Linux/Unix上,“mvn”shell脚本中的JAVA_HOME会被中的设置覆盖
$HOME/.mavenrc
在linux中添加JAVA_HOME和MAVEN路径变量
其他回答
Mac用户, 如果您已经从HomeBrew(Brew)安装了maven, 或者即使你是从别处安装的, 如果您想更改Maven使用的Java的默认版本, 您可以使用以下命令来更改maven使用的版本,
vim ~/.mavenrc
在弹出的gui中输入这个并保存-
JAVA_HOME="(put the Home path of your desired java version package)"
要验证maven的路径是否已更改,可以使用-进行检查
mvn -v
最近安装了Java10,看看有什么新的和有趣的。一旦我这样做了,并尝试运行现有的项目使用java8。 令我惊讶的是,maven开始使用java10作为它的默认java版本,尽管我的JAVA_HOME设置为使用java8 - /usr/libexec/java_home -v 1.8
鉴于,我的安装是使用brew完成的- brew只是Mac OS的包管理器,我的M2_HOME是自动设置的。这通常在/usr/local/Cellar/maven/3.5.4
带着这个新发现的知识,我跑了
nano /usr/local/Cellar/maven/3.5.4/bin/mvn
内容是
#!/bin/bash
JAVA_HOME="${JAVA_HOME:-$(/usr/libexec/java_home)}" exec "/usr/local/Cellar/maven/3.5.4/libexec/bin/mvn" "$@"
重要的位
"${JAVA_HOME:-$(/usr/libexec/java_home)}"
要解决这个问题,需要指定maven默认使用的java版本。所以在我的例子中,我需要java8。
按如下步骤更新/usr/local/Cellar/maven/3.5.4/bin/mvn文件
#!/bin/bash
JAVA_HOME="${JAVA_HOME:-$(/usr/libexec/java_home -v 1.8)}" exec "/usr/local/Cellar/maven/3.5.4/libexec/bin/mvn" "$@"
我在mac上没有成功,只是在控制台中设置JAVA_HOME,但我成功地使用了这种方法
在您的主目录下创建.mavenrc文件(因此文件的路径将是~/.mavenrc 导出JAVA_HOME=$(/usr/libexec/ JAVA_HOME -v 1.7)
在不改变环境变量的情况下,您可以使用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>
用上面的答案我无法解决这个问题,我尝试了很多方法来解决这个问题,我得到了它。我希望像我这样的人能解决这个问题。
我正在使用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" "$@"\