Centos 在linux中找不到java_home环境变量

Centos 在linux中找不到java_home环境变量,centos,environment-variables,java-7,Centos,Environment Variables,Java 7,我正在尝试在linux机器(centos 5.8)中添加java_home 我将此部分添加到为我机器中的所有用户设置JAVA_主页和路径中 vi/etc/profile 导出JAVA_HOME=/opt/jdkx.x.x_xx 导出路径=$PATH:$JAVA\u HOME/bin 设置之后,我尝试使用echo命令验证它 echo$JAVA_主页 但它没有给我任何路径。我的配置有问题吗?问题已被编辑,答案不再有意义 留作注释的占位符 echo$SHELL将告诉您正在使用哪个SHELL。很可能是/

我正在尝试在linux机器(centos 5.8)中添加java_home

我将此部分添加到为我机器中的所有用户设置JAVA_主页和路径中

vi/etc/profile 导出JAVA_HOME=/opt/jdkx.x.x_xx

导出路径=$PATH:$JAVA\u HOME/bin

设置之后,我尝试使用echo命令验证它

echo$JAVA_主页


但它没有给我任何路径。我的配置有问题吗?

问题已被编辑,答案不再有意义

留作注释的占位符

echo$SHELL
将告诉您正在使用哪个SHELL。很可能是/bin/bash

假设bash,/etc/profile只为登录shell(bash--login)读取,而不仅仅是一个新的交互式shell

i、 e.如果你

sh1% vi /etc/profile
sh1% bash # /etc/profile not read
sh2% echo $JAVA_HOME
sh2%


sh1% vi /etc/profile
sh2% bash --login # /etc/profile should be read.
sh2% echo $JAVA_HOME
/opt/blah/blah/blah
sh2%

问题已被编辑,答案不再有意义

留作注释的占位符

echo$SHELL
将告诉您正在使用哪个SHELL。很可能是/bin/bash

假设bash,/etc/profile只为登录shell(bash--login)读取,而不仅仅是一个新的交互式shell

i、 e.如果你

sh1% vi /etc/profile
sh1% bash # /etc/profile not read
sh2% echo $JAVA_HOME
sh2%


sh1% vi /etc/profile
sh2% bash --login # /etc/profile should be read.
sh2% echo $JAVA_HOME
/opt/blah/blah/blah
sh2%

JAVA_主路径是不同的,因为我们经常安装不同版本的JDK,可能安装在不同的地方。有一次我试着找到一般的方法。结果是这样的

首先,要查询已安装的jdk包名称:
rpm-qa | grep java

我的结果是:java-1.6.0-openjdk

其次,查询此软件包的安装位置

rpm -ql java-1.6.0-openjdk
大多数文件位于以下目录下:/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/

去那里确认它是一个真正的JDK目录


第三,在终端中执行
export JAVA_HOME=/usr/lib/jvm/JAVA-1.6.0-openjdk-1.6.0.0.x86_64/
。或者为所有用户添加它。

JAVA_主路径是不同的,因为我们经常安装不同版本的JDK,可能安装在不同的地方。有一次我试着找到一般的方法。结果是这样的

首先,要查询已安装的jdk包名称:
rpm-qa | grep java

我的结果是:java-1.6.0-openjdk

其次,查询此软件包的安装位置

rpm -ql java-1.6.0-openjdk
大多数文件位于以下目录下:/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/

去那里确认它是一个真正的JDK目录


第三,在终端中执行
export JAVA_HOME=/usr/lib/jvm/JAVA-1.6.0-openjdk-1.6.0.0.x86_64/
。或者为所有用户添加它。

此方法将保留操作系统更新

echo“export JAVA_HOME=/usr/JAVA/default/”>/etc/profile.d/JAVA_HOME.sh


如果您有更多关于java安装的版本,则可能会出现问题。

此方法将保留操作系统更新

echo“export JAVA_HOME=/usr/JAVA/default/”>/etc/profile.d/JAVA_HOME.sh


如果您有更多关于java安装版本的信息,可能会出现问题。

对不起,我的错误。我已经发出了该命令。但它仍然没有显示任何内容。您使用的是哪个shell?您确定已将其设置为读取/etc/profile吗?我假设您启动一个新的shell来验证更改(即强制读取/etc/profile)?您的本地用户shell是否正在做任何事情来取消JAVA_HOME的设置?我不太确定。因为这是我第一次使用linux机器。通常我使用windows。我可以轻松地实现它。您能告诉我应该采取的步骤吗?对不起,我的错误。我已经发出了该命令。但它仍然没有显示任何内容。这是什么你用的是什么?您确定已将其设置为读取/etc/profile吗?我假设您启动一个新的shell来验证更改(即强制读取/etc/profile)?您的本地用户shell是否在做任何事情来取消JAVA_HOME的设置?我不太确定。因为这是我第一次使用linux机器。通常我使用的是windows。我可以毫不费力地实现它。您能告诉我应该采取什么步骤吗?