JAVA_HOME 对 CentOS 的价值是什么?

Ama*_*rus 40 linux redhat java centos yum

我已经在 CentOS 上通过 yum 安装了 java,但是另一个 java 程序需要知道 JAVA_HOME 环境变量是什么。我知道所有关于设置环境变量的知识,但我应该将它设置为什么?java安装在/usr/bin/java,它不能在那里!

Ama*_*rus 58

其实我找到了

它是/usr/lib/jvm/jre-1.6.0-openjdk.x86_64/。我发现它是做什么的update-alternatives --display java,它向我展示了目录/usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java


Nie*_*jes 20

我不太确定,但如果您安装普通的 RPMS,JAVA_HOME 值也可以设置为:

/usr/java/default/
Run Code Online (Sandbox Code Playgroud)

编辑:我刚刚检查了我的家庭系统。我创建了这个文件:

/etc/profile.d/java.sh
Run Code Online (Sandbox Code Playgroud)

其中包含:

export JAVA_HOME=/usr/java/default/
Run Code Online (Sandbox Code Playgroud)

我使用的是 Sun 的官方版本:jdk-1.6.0_12-fcs

编辑:这是我在我的机器上设置 Java 的方法

安装 Java

从 Oracle 下载并安装 Java JDK

使其成为主要

使用以下两个命令确保使用此 Java 而不是 OpenJDK 版本:

第一的

alternatives --install /usr/bin/java java /usr/java/default/bin/java 999999 \
           --slave /usr/bin/keytool keytool /usr/java/default/bin/keytool \
           --slave /usr/bin/rmiregistry rmiregistry /usr/java/default/bin/rmiregistry
Run Code Online (Sandbox Code Playgroud)

第二

alternatives --install /usr/bin/javac javac /usr/java/default/bin/javac 999999 \
           --slave /usr/bin/jar jar /usr/java/default/bin/jar \
           --slave /usr/bin/rmic rmic /usr/java/default/bin/rmic
Run Code Online (Sandbox Code Playgroud)

设置JAVA_HOME

确保所有用户都将他们的 JAVA_HOME 环境变量设置为正确的值:

echo "export JAVA_HOME=/usr/java/default/" > /etc/profile.d/java_home.sh
Run Code Online (Sandbox Code Playgroud)