是否可以在Linux中设置2个JAVA_HOME?

时间:2016-09-07 07:56:31

标签: linux java-home rhel6

我使用的是RHEL 6.8。当JDK为1.7.0_45时,是否可以在Linux中的JAVA_HOME中设置1.8服务器JRE路径?我需要两个java版本和两个JAVA_HOME。

提前致谢!

3 个答案:

答案 0 :(得分:0)

处理此类事情的典型方法是使用alternatives

含义:在同一系统上拥有多个JRE / JDK绝对没问题;你只需管理他们;和替代有助于此。

对于Redhat,请查看他们的documentation

答案 1 :(得分:0)

您可以拥有2个版本,但您一次只能使用一个版本,或者创建具有不同配置文件的2个系统用户,如下所述:

的/ usr /本地/ JAVA /      - jdk1.8.0_60      - jre1.7.0_60

1) vim ~/.profile or vim ~/.bash_profile

2) Add below lines at end. Please check your jdk/jre path and change it accordingly 
export JAVA_HOME=/usr/local/java/jre1.7.0_60
export PATH=$JAVA_HOME/bin:$PATH

3) exit vim editor

4) echo $JAVA_HOME

您需要从系统退出并重新登录。

如果你想将它切换到jdk1.8.0_60然后编辑同一个文件〜/ .profile或〜/ .bash_profile并再次按照上述程序。

答案 2 :(得分:0)

在同一个Linux环境中你不能真正拥有两个JAVA_HOME环境变量(env变量基本上是键值条目,因此你不能拥有具有相同键JAVA_HOME的条目。)

我建议我在这里写的解决方案: https://stackoverflow.com/a/50766853/6661361

用几句话说:

  1. 安装所有Java替代品:

    sudo update-alternatives --install /usr/bin/java java /home/aqeel/development/jdk/jdk1.6.0_35/bin/java 1`
    
  2. 将以下代码段添加到〜/ .bashrc (或其他bash配置文件,具体取决于您要使用的范围):

    export JAVA_HOME=$(update-alternatives --query java | grep Value: | awk -F'Value: ' '{print $2}' | awk -F'/bin/java' '{print $1}')
    
  3. 使用以下命令选择java版本:

    sudo update-alternatives --config java
    

    你的JAVA_HOME应该自动更改(只需记住在更改java版本后打开一个新的命令终端,或者创建一个脚本来手动完成)。

  4. (可选)如果您必须经常更改Java版本,您可能需要考虑在<别名中添加< 。EM>〜/ bash_aliases :

    alias change-java="sudo update-alternatives --config java"
    
  5. (您可能必须创建该文件,并可能在〜/ .bashrc 中取消注释与此相关的部分。)