繁体   English   中英

如何在windows上硬编码maven使用的java

[英]How to hardcode java used by maven on windows

我知道maven使用JAVA_HOME环境变量来启动它自己。 但由于缺乏管理权限(公司的安全政策),我无法改变这个变量。 我安装了Oracle JRE,目前由maven使用。 我在Windows 10上运行。

我想硬编码我的maven以使用特定的JDK文件夹来运行自己。 我正在研究的一个解决方案是在$MAVEN_HOME\\bin\\mvn文件中对其进行硬编码,但我不能这样做。 当我试图添加类似的东西时:

set JAVA_HOME="E:\ProgramFiles\java\jdk8"
export JAVA_HOME="E:\ProgramFiles\java\jdk8"
JAVA_HOME=`E:\ProgramFiles\java\jdk8`

mvn -version命令的输出中,我仍然可以在该文件中指向已安装的JRE。

Apache Maven 3.5.0 (ff8f5e7444045639af65f6095c62210b5713f426; 2017-04-03T22:39:06+03:00) Maven home: E:\\ProgramFiles\\apache-maven-3.5.0\\bin\\.. Java version: 1.8.0_131, vendor: Oracle Corporation Java home: C:\\Program Files\\Java\\jre1.8.0_131 Default locale: ru_RU, platform encoding: Cp1251 OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"

问题是:如何从$MAVEN_HOME\\bin更改我的mvnmvn.cmd文件以使用所需的硬编码JDK版本? 或者是否有另一种解决方案(因为我需要从任何地方运行mvn命令 - 它需要使用特定的jdk),除了更改环境变量?

在Linux中,您可以通过编辑/创建mavenrc文件来执行相同的操作。

vi ~/.mavenrc

有一些输入,如:

export PATH
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home
export PATH=${PATH}:$JAVA_HOME/bin

我在Windows 10上运行

可以在%HOME%\\mavenrc.bat创建%HOME%\\mavenrc.bat具有相应定义的类似文件(尚未尝试过)。

编辑 :感谢@Robert指出它,对于Windows它

%USERPROFILE%\mavenrc_pre.cmd

您需要修改/创建的文件。

您不需要在Windows中使用export命令。 您可以做的是,编辑mvn.cmd文件并在文件开头定义您自己的MAVEN_JAVA_HOME。

set MAVEN_JAVA_HOME="E:\ProgramFiles\java\jdk8" 
echo %MAVEN_JAVA_HOME%

并在mvn.cmd中将所有JAVA_HOME替换为MAVEN_JAVA_HOME

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM