0

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

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

vi /etc/profile

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

导出 PATH=$PATH:$JAVA_HOME/bin

设置完成后,我尝试使用 echo 命令进行验证

回声 $JAVA_HOME

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

4

3 回答 3

2

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

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

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

于 2012-09-11T00:39:48.617 回答
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

于 2012-04-20T08:33:32.247 回答
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%
于 2012-04-18T07:04:13.743 回答