How to change maven java home

前端 未结 9 2227
太阳男子
太阳男子 2020-12-04 23:13

I want to change maven java home which is open jdk with sun jdk. How can I do it ?

root@ak-EasyNote-TM98:~# mvn -version
Apache Maven 3.0.4
Maven home: /usr/         


        
相关标签:
9条回答
  • 2020-12-05 00:11

    Just set JAVA_HOME env property.

    0 讨论(0)
  • 2020-12-05 00:16

    Appears to be a duplicate of https://askubuntu.com/questions/21131/how-to-correctly-remove-openjdk-and-jre-and-set-the-system-use-only-and-only-sun#answer-21137 assuming that you are using Ubuntu.

    The key is to use the command sudo update-java-alternatives -s java-6-sun. Any commands that rely on javac will be affected and not just Maven.

    0 讨论(0)
  • 2020-12-05 00:18

    If you are dealing with multiple projects needing different Java versions to build, there is no need to set a new JAVA_HOME environment variable value for each build. Instead execute Maven like:

    JAVA_HOME=/path/to/your/jdk mvn clean install
    

    It will build using the specified JDK, but it won't change your environment variable.

    Demo:

    $ 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"
    
    0 讨论(0)
提交回复
热议问题