java - JAVA_HOME 的默认值似乎覆盖了 :/etc/profile. d/java.sh 设置的值

标签 java linux

我创建了一个文件 /etc/profile.d/java.sh,其中包括(除其他外)代码行:export JAVA_HOME=/usr/java/jdk1 .6.0_30。但是,当我通过 SSH 登录或重新启动 linux Centos 6.2 服务器时,我总是看到:

[root@host3 /etc/profile.d]# echo $JAVA_HOME
/usr/local/jdk

这是一个新的安装和服务器,所以没有做太多其他事情。似乎 java.sh 文件在重新启动或 SSH 登录时正在执行,但是,JAVA_HOME 的值被 /usr/local/jdk 的默认值以某种方式覆盖。 /usr/local 下甚至没有目录jdk

知道如何纠正这个问题吗?需要为所有用户设置 JAVA_HOME 的值(如在 java.sh 中所做的那样)。

更新 1:

我检查了/etc/profile 文件并搜索了文本 jdk 以及 JAVA,但均未找到。我还检查了/root/.bash_profile,它显示如下:

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH

此外,如果我使用 java.sh,一切都会正确设置。但是如果我重新启动服务器,JAVA_HOME 会回到 /usr/local/jdk

最佳答案

检查/etc/profile 文件或主目录中的 .bash_profile/.profile。

关于java - JAVA_HOME 的默认值似乎覆盖了 :/etc/profile. d/java.sh 设置的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9152041/

相关文章:

C 程序读取 ascii 文本文件但输出是 ISO-8859

java - 可以导出 UnicastRemoteObject 然后作为参数传递吗

java - 在代理后面使用 Azure EventHub 进行身份验证

java - 启动tomcat时出现奇怪的错误

java - Jacoco:查找外部测试的代码覆盖率

java - 使用 apache poi 3.11 在 ms word 中插入标题(左、中、右)

java - TextField "umlauts"在 linux 上没有显示

linux - 用于嵌入式 Linux 的 Qt : Hide cursor on startup

linux - 如何建立这个项目?

java - Mac Osx 上的 gksu