设置JAVA_HOME和JRE_HOME路径

9

我被分配了一台Linux服务器,其中已安装了Java。

# java -version
java version "1.7.0_09-icedtea"
OpenJDK Runtime Environment (rhel-2.3.4.1.el6_3-x86_64)
OpenJDK 64-Bit Server VM (build 23.2-b09, mixed mode)

# ls -l /usr/bin/java
lrwxrwxrwx. 1 root root 22 Feb  8  2013 /usr/bin/java -> /etc/alternatives/java

我是Java的新手,不确定这个电脑上是否安装了JRE,但基于搜索结果:

# rpm -q jre
package jre is not installed
# find / -iname java -print 2>/dev/null
/usr/lib/java
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/bin/java
/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/bin/java
/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre/bin/java
/usr/bin/java
/usr/share/java
/var/lib/alternatives/java
/etc/alternatives/java
/etc/java
/etc/pki/java

但是

# echo $JAVA_HOME

# echo $JRE_HOME

您说的是JAVA已经安装了,JRE也是 - 我是对的,但是我应该为JAVA_HOME和JRE_HOME环境变量设置什么值呢?

注:此处保留了HTML标签。
5个回答

8
我不确定其他版本的Linux是否适用,但在Ubuntu中,您需要打开home/.bashrc文件,并在文件末尾添加以下内容。
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64

export PATH=$JAVA_HOME/bin:$PATH

之后,保存文件并重新登录。

编辑

Java 将会通过 JAVA_HOME 知道 JRE 的位置。


2

首先尽可能退出 root 用户,然后更改以下内容在您的 ~/.bash_profile 中:

JAVA_HOME=/usr/java/<Java version 7 jdk>; export JAVA_HOME // you can also try JAVA_HOME=/usr/java/jdk 7 version/bin/java
PATH=$JAVA_HOME/bin:$PATH; export PATH

保存并执行以下命令:

source ~/.bashrc

然后尝试运行以下命令:

echo $JAVA_HOME,它将会产生预期的结果。


1
我的设置现在正确吗:$echo $JAVA_HOME /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/ $echo $JRE_HOME /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/ - Programmer
不,还是不正确。将其更改为$JAVA_HOME /usr/java/jdk1.7.0.9.x86_64,然后它应该正常工作。 - Bhargav Modi
但是:$ls -l /usr/java/jdk1.7.0.9.x86_64 ls: 无法访问 /usr/java/jdk1.7.0.9.x86_64:没有那个文件或目录 请确认? - Programmer
@Prakash 好的,那么你之前的设置似乎正确,而且我猜你走在了正确的道路上。JRE主目录路径并不是必要的,但你仍然可以这样做。 - Bhargav Modi

1

设置 $JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64

设置 $JRE_HOME=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre


1
不要加斜杠。 - Pierre Thibault

1
JAVA_HOME 应该设置为安装路径的父文件夹,
而 JRE_HOME 应该设置为 /jre。

0

根据您发布的输出,我可以得出以下结论:

  1. 基于您的机器上 java -version 可以运行的事实,您已经安装了 JRE。
  2. 由于您没有设置环境变量,所以 'echo' 语句没有产生任何输出。

顺便提一下,如果您计划进行 Java 开发,则需要安装JDK。一旦安装,JRE 将作为 JDK 的子集。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接