Roc*_*Gom 58 java openjdk maven
我想改变使用sun jdk打开jdk的maven java home.我该怎么做 ?
root@ak-EasyNote-TM98:~# mvn -version
Apache Maven 3.0.4
Maven home: /usr/share/maven
Java version: 1.6.0_24, vendor: Sun Microsystems Inc.
Java home: /usr/lib/jvm/java-6-openjdk-amd64/jre
Default locale: tr_TR, platform encoding: UTF-8
OS name: "linux", version: "3.2.0-34-generic", arch: "amd64", family: "unix"
Edit:
Run Code Online (Sandbox Code Playgroud)
非常抱歉.我忘了写下面的代码:
root@ak-EasyNote-TM98:~$ java -version
java version "1.7.0_07"
Java(TM) SE Runtime Environment (build 1.7.0_07-b10)
Java HotSpot(TM) 64-Bit Server VM (build 23.3-b01, mixed mode)
Run Code Online (Sandbox Code Playgroud)
我的java home默认路径已经是sun jdk了.但maven java home指向openjdk.我想只为maven修复它.
Evg*_*eev 51
如果您使用的是Linux,请使用语法设置JAVA_HOME export JAVA_HOME=<path-to-java>
.实际上它不仅仅适用于Maven.
Tec*_*nic 27
我正在使用Mac,上面的答案都没有帮助我.我发现maven从以下指定的路径加载自己的JAVA_HOME:~/.mavenrc
我将文件的内容更改为: JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home
对于Linux,它看起来像:
JAVA_HOME=/usr/lib/jvm/java-8-oracle/jre
小智 11
为 MAVEN 强制使用特定 JVM 的最佳方法是创建一个由 mvn 脚本加载的系统范围的文件。
该文件是/etc/mavenrc
并且它必须声明一个JAVA_HOME
指向您的特定 JVM的环境变量。
例子:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64
Run Code Online (Sandbox Code Playgroud)
如果文件存在,则加载它。
这是mvn
脚本的摘录,以便理解:
如果 [ -f /etc/mavenrc ] ; 然后 . /etc/mavenrc 菲 if [ -f "$HOME/.mavenrc" ] ; 然后 . “$HOME/.mavenrc” 菲
或者,可以写入相同的内容 ~/.mavenrc
如果您正在处理需要构建不同 Java 版本的多个项目,则无需JAVA_HOME
为每个构建设置新的环境变量值。而是像这样执行 Maven:
JAVA_HOME=/path/to/your/jdk mvn clean install
Run Code Online (Sandbox Code Playgroud)
它将使用指定的 JDK 进行构建,但不会更改您的环境变量。
演示:
$ mvn -v
Apache Maven 3.6.0
Maven home: /usr/share/maven
Java version: 11.0.6, vendor: Ubuntu, runtime: /usr/lib/jvm/java-11-openjdk-amd64
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.15.0-72-generic", arch: "amd64", family: "unix"
$ JAVA_HOME=/opt/jdk1.8.0_201 mvn -v
Apache Maven 3.6.0
Maven home: /usr/share/maven
Java version: 1.8.0_201, vendor: Oracle Corporation, runtime: /opt/jdk1.8.0_201/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.15.0-72-generic", arch: "amd64", family: "unix"
$ export | grep JAVA_HOME
declare -x JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"
Run Code Online (Sandbox Code Playgroud)
上面有很大的帮助,但如果你有像我一样的类似环境,这就是我让它工作的方式。
编辑这个文件/etc/profile.d/apache-maven.sh,如以下内容,注意它会影响整个系统。
$ cat /etc/profile.d/apache-maven.sh
MAVEN_HOME=/usr/share/apache-maven
M2_HOME=$MAVEN_HOME
PATH=$MAVEN_HOME/bin:$PATH
# change below to the jdk you want mvn to reference.
JAVA_HOME=/usr/java/jdk1.7.0_40/
export MAVEN_HOME
export M2_HOME
export PATH
export JAVA_HOME
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
119302 次 |
最近记录: |