如何指示Maven使用除JAVA_HOME指定的JDK之外的其他JDK?

15

目前我的JAVA_HOME设定为JDK 1.4.2。

要运行Maven 3,我需要使用1.5及以上版本的JDK。

除了更改JAVA_HOME环境变量之外,是否有其他方法可以指示我的Maven安装使用已安装的另一个JDK?


你不能在启动maven的脚本中明确覆盖JAVA_HOME吗?除了maven,你还需要JAVA_HOME吗? - home
是的,我的开发环境中JAVA_HOME设置为1.4.2,主要用于BEA 8.1服务器和许多其他事情。 - OCB
2个回答

27

这基本上就是做法。我猜你的意思是不想改变全局JAVA_HOME。没问题,你只需要为Maven设置一个不同的JAVA_HOME。你可以轻松地通过在/etc/mavenrc~/.mavenrc(Linux)或%HOME%\mavenrc_pre.bat(Windows)创建一个文件,并在其中定义适当的JAVA_HOME即可实现。如果存在这些文件,Maven在启动时会执行它们,除非你定义了一个名为MAVEN_SKIP_RC的变量。你还可以直接修改Maven启动脚本,但没有什么好理由这样做,因为前面提到的方法已经很简便了。


我还不太明白,我需要创建一个名为mavenrc_pre.bat的批处理文件吗?那个文件应该长什么样子? - OCB
1
是的。在您的主目录中创建mavenrc_pre.bat文件,并在其中添加“JAVA_HOME = <您的jdk 6 home>”。就这样。 - Ryan Stewart

1

在Windows系统中:

步骤1:

找到apache-maven-3.2.1\bin\mvn.bat文件,然后将其中的JAVA_HOME替换为JAVA_HOME_MVN。 注意:在此之前,请备份mvn.bat文件。

步骤2:

创建一个名为JAVA_HOME_MVN的新环境变量,并将其指向您想要使用的jdk的bin目录。


这是一个不错的尝试。对我来说运行良好。我的JAVA_HOME_MVN环境变量指向Jdk 11,而我的常规JAVA_HOME则有Jdk 8。 - Utpal Kumar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接