在bashrc和cshrc中设置java路径


0

我的系统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.user 文件, java -version 仍显示1.6,这意味着什么都没有改变,我该如何更改默认的JAVA PATH?


我暂时没有使用csh,但我记得使用setenv而不是set。
tonioc

Answers:


0

$PATH 从开始到结束解析,直到找到匹配。所以,例如,如果你的 $PATH 是:

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

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

您必须在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。


0

你的路径中可能早有java 1.6。

env | grep 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的任何引用。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.