找不到linux中的java_home环境变量

时间:2012-04-18 07:01:33

标签: centos environment-variables java-7

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

我将此部分添加到为我机器中的所有用户设置JAVA_HOME和PATH

  

vi / etc / profile

     

导出JAVA_HOME = / opt / jdkx.x.x_xx

     

export PATH = $ PATH:$ JAVA_HOME / bin

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

  

echo $ JAVA_HOME

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

3 个答案:

答案 0 :(得分:2)

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

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

如果你有更多的java安装版本,可能会有麻烦。

答案 1 :(得分:1)

JAVA_HOME路径不同,因为我们经常安装不同版本的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/。或者为所有用户添加 / etc / bashrc

答案 2 :(得分:0)

问题已被编辑,答案已经没有意义了。

留下作为评论的占位符。

echo $SHELL会告诉您正在使用哪个shell。最有可能/ bin / bash。

假设使用bash,/ etc / profile只能用于登录shell(bash --login),而不仅仅是新的交互式shell。

即。如果你

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%