在我的机器上,我安装了两个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?
当前回答
set JAVA_HOME=C:\Program Files\Java\jdk1.7.0_45\jre
在$MAVEN_HOME\bin\mvn中添加上述代码行作为第一条语句。cmd在Windows 10中立即为我工作了。
其他回答
我正在使用jenv,并面临“javax.xml.bind”的编译错误。注释”,因为终端中的MVN使用的是openjdk 13
Maven home: /usr/local/Cellar/maven/3.6.3_1/libexec
Java version: 13.0.2, vendor: N/A, runtime: /usr/local/Cellar/openjdk/13.0.2+8_2/libexec/openjdk.jdk/Contents/Home
对我来说,它在运行'jenv enable-plugin maven'后工作,就像这里建议的那样 https://stackoverflow.com/a/56487374/1582473
在POM中,你可以设置编译器属性,例如1.8:
<project>
...
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
...
</project>
解决这个问题的一个简单办法就是
JAVA_HOME=/usr/lib/jvm/java-6-sun/ mvn clean install
在Mac上,它看起来像-
JAVA_HOME = /图书馆/ Java / JavaVirtualMachines / jdk1.7.0_21。jdk/Contents/Home/ mvn clean install
PS:我发现的一个特殊情况是,上面给出的命令对'fish' shell不起作用。我也有bash shell可用,它在那里工作得很好。只需使用命令'bash'切换到bash shell。
在windows中,我只是将不同JDK版本的多个批处理文件添加到Maven bin文件夹中,如下所示:
mvn11.cmd
@echo off
setlocal
set "JAVA_HOME=path\to\jdk11"
set "path=%JAVA_HOME%;%path%"
mvn %*
然后你可以使用mvn11在指定的JDK中运行Maven。
您只需要在调用JAVA_HOME之前将您的JAVA版本添加到mvn文件中 例如,我的。bashrc文件中的JAVA版本是JAVA -17 我想用Java-11运行maven:
文件/usr/share/maven/bin/mvn: 我补充说:
JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
在脚本中调用JAVA_HOME之前
然后它在Java-11中工作得很好:)