错误:未正确定义JAVA_主页

错误:未正确定义JAVA_主页,java,linux,ubuntu,Java,Linux,Ubuntu,给出:/usr/lib/jvm/java-6-sun 但是我在/etc/environment中设置了/usr/lib/jvm/java-7-openjdk-amd64 echo $JAVA_HOME 给出我设置的路径,即/usr/lib/jvm/java-7-openjdk-amd64 下次我尝试echo$JAVA_HOME时,会显示错误的路径 在/etc/profile或~/.bashrc中可能有代码,用于再次设置变量 请尝试grep-r JAVA_HOME/etc和grep JAVA_H

给出:
/usr/lib/jvm/java-6-sun
但是我在
/etc/environment
中设置了
/usr/lib/jvm/java-7-openjdk-amd64

echo $JAVA_HOME
给出我设置的路径,即
/usr/lib/jvm/java-7-openjdk-amd64


下次我尝试echo$JAVA_HOME时,会显示错误的路径

/etc/profile
~/.bashrc
中可能有代码,用于再次设置变量

请尝试
grep-r JAVA_HOME/etc
grep JAVA_HOME~/.??*
查找使用它的位置


为了避免这样的麻烦,,我通常在
~/bin/
中创建shell脚本,这些脚本与我要执行的准备环境的工具同名。

在Ubuntu上,推荐的方法似乎是将行
JAVA\u HOME=/usr/lib/jvm/default JAVA
添加到
/etc/environment
中,并使用更新替代工具来管理实际的脚本jvm

您可能在
/etc/profile.d/
中有一个脚本覆盖了这个脚本,应该删除它

通过运行以下命令,您可以查看当前已安装和可用的java替代方案:

source /etc/environment
要选择要使用的jvm,请使用适合您的任何版本运行以下命令:

update-java-alternatives --list

用户特定的设置不覆盖环境变量吗?你在你的.bashrc(或者Ubuntu中的文件名)中设置了什么吗?还有一个AskUbuntu网站,在那里你可以找到比这里更好的答案:我已经检查过了,在.bashrc和profile中没有设置JAVA_HOMEpath。当我尝试grep-r JAVA_HOME/etc时,它给出了/etc/bash.bashrc~:JAVA_HOME=/usr/local/JAVA/jdk1.6.0\u 31。但是当我手动查看bash.bashrc时,我没有看到JAVA_HOME。文件末尾的
~
表示它是一个备份。所以你有两个文件。您查看了一个未激活的。grep JAVA_HOME~/.??*帮助。JAVA_HOME的路径在my/HOME/biplov/的.bashrc中被覆盖。
update-java-alternatives --set java-1.7.0-openjdk-amd64