在 bashrc 和 cshrc 中设置 java 路径

在 bashrc 和 cshrc 中设置 java 路径

我的系统 Java 版本是 1.6,要运行 Eclipse,我需要 JRE 1.7。我已经下载并解压了 Java 1.7 的存档,但我无法将默认路径更改为/usr/bin/java解压后的文件夹路径

我主要使用所以我在文件cshrc中做了这些改变.cshrc.user

set PATH = "$PATH":/path/to/java/jre1.7.0_67/bin

获取文件后.cshrc.userjava -version仍然显示 1.6,这意味着没有任何变化,我该如何更改默认的 JAVA PATH?

答案1

$PATH从头到尾进行解析,直到找到匹配项。例如,如果您的$PATH为:

/usr/bin:/path/to/jre6:/path/to/jre7

然后执行,shell 将首先在 中java -jar something.jar查找可执行文件。它在那里找不到,所以它会在 中查找。它会在该目录中找到可执行文件,因此它将放弃进一步搜索并使用该 Java 可执行文件。java/usr/bin/path/to/jre6java

您必须在 Java 6 路径之前添加 Java 7 的路径才能使用它。

不过,修改$PATH并不是在 Java 版本之间切换的正确方法。您应该使用update-alternatives

  1. 运行sudo update-alternatives --config java以列出可用的 Java 版本并在它们之间切换。您新安装的版本尚不可用。

  2. 运行sudo update-alternatives --install /usr/bin/java java /path/to/jre7/java 100注册JRE7的java。

  3. sudo update-alternatives --config java再次运行并选择JRE7的Java。

答案2

您的路径中可能早先就有 java 1.6。

env | grep PATH

应该证实这一点。

PATH 和 CLASSPATH

对于 C shell (csh),编辑启动文件~/.cshrc

set path=(/usr/local/jdk1.7.0/bin $path)

对于 bash,编辑启动文件~/.bashrc

PATH=/usr/local/jdk1.7.0/bin:$PATH
export PATH

注意,两种情况下都会添加新的 JDK现有路径。编辑上述文件时,应删除对 JDK 1.6 的任何引用。

相关内容