Nom*_*mir 13 java command-line maven
我想知道是否可以将JAVA_HOME作为参数传递给mvn命令行.我几乎到处搜索,但找不到答案.
我知道我们可以使用export设置JAVA_HOME,但是如果可能的话我需要将它作为参数传递.就像是:
mvn install -DJava_Home=/usr/java/jdk-1.7.0
Run Code Online (Sandbox Code Playgroud)
我这样做的另一种怪诞方式:(我的大多数项目都在Java 7上,但是在Java 8上却很少)
1)将新的环境变量JAVA8_HOME添加到您的.zshrc(或类似名称)
2)复制“ mvn”可执行文件并将其称为“ mvn8”
3)将'mvn8'中的'JAVA8_HOME'替换为'JAVA_HOME'
现在,mvn8 clean install
应该工作了。
不,不是直接,但是在我的机器上查看 mvn.bat 我看到了这个有希望的片段:
@REM Execute a user defined script before this one
if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat"
Run Code Online (Sandbox Code Playgroud)
所以你可以覆盖 mavenrc_pre 脚本文件中你喜欢的任何变量,尽管我意识到这不会让你从命令行覆盖 java home 。最坏的情况,mvn 是一个简单的脚本文件,您可以向其中添加选项。另请注意,简单地覆盖 JAVA_HOME 可能并不总是产生预期的结果,因为在许多系统上 JAVA_HOME\bin 位于路径上。这意味着即使您覆盖它,以前的 jvm 仍将位于路径上,这可能会导致意外结果。
归档时间: |
|
查看次数: |
4145 次 |
最近记录: |