更改 Debian 7.1.0 中 Java 的 PATH

更改 Debian 7.1.0 中 Java 的 PATH

我想更改 Debian 7.1.0 系统的 PATH 以链接到我想要的 Java 版本。如果我在终端输入:

java -version

我得到:

java version "1.6.0_27"
OpenJDK Runtime Environment (IcedTea6 1.12.6) (6b27-1.12.6-1~deb7u1)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)

这是我的发行版预装的 Java 版本。我现在已经下载了 Sun JDK 1.7.0 update 25。我希望我的系统使用此版本而不是预安装的版本。我对我的PATHin进行了两处更改.bashrc,但仍然拥有相同的 Java 版本。

我的.bashrc文件包含以下行:

PATH="PATH":/usr/local/jdk1.7.0_25
export PATH

答案1

你真正想要的是你的这个~/.profile(或者.bashrc如果你坚持,但是.profile更好的):

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

您丢失了原始的 $PATH 因为您使用的是"PATH"而不是$PATH所以它被解释为一个简单的字符串,您所做的就是将路径设置为:

PATH:/usr/local/jdk1.7.0_25/bin

答案2

您可能需要 oracle java bin前置的(未附加)到您的路径:

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

由于执行路径是检查的目录列表为了(所以如果你附加jdk7 bin 到 $PATH,首先找到发行版 java)。

我丢失了原来的 PATH 以及使用所有命令的可能性

注意这两者之间的区别:

PATH=$PATH
PATH=PATH

当你分配对于 shell 变量,仅使用单词PATH.当您引用 shell 变量时,必须在其前面加上$.例如:

FOO="hello"
FOO=$FOO" world"

$FOO现在等于“你好世界”。但:

FOO="hello"
FOO=FOO" world"

$FOO现在等于“FOO世界”。

不要覆盖$PATH——追加或前置。

答案3

除了 和 之外~/.profile~/.bashrc还可以通过以下方式设置 Java 路径

/etc/profile.d/jdk.sh

如果你看一下/etc/profile,你会发现它来源了里面的所有脚本/etc/profile.d/

相关内容