如何指示Maven使用JDK而不是JAVA_HOME中指定的JDK?

目前我的JAVA_HOME设置为1.4.2的JDK。

要运行Maven 3,我需要1.5及以上。

有没有办法指示我的Maven安装使用除了更改JAVA_HOME环境变量之外安装的另一个JDK?

这几乎就是这样做的。 我假设你的意思是你不想改变你的全局JAVA_HOME。 没关系。 你只需要为Maven设置一个不同的JAVA_HOME。 您可以通过在/etc/mavenrc~/.mavenrc (Linux)或%HOME%\mavenrc_pre.bat (Windows)中创建一个文件,并在其中定义相应的JAVA_HOME来%HOME%\mavenrc_pre.bat此操作。 除非你已经定义了一个名为MAVEN_SKIP_RC的变量,否则Maven会在启动时执行它们。 您也可以直接修改Maven启动脚本,但没有充分的理由,因为它为您提供了这些漂亮的挂钩。

在Windows上:

步骤1:

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

第2步:

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