的问题是,你的系统中已经知道在哪里一个Java可执行版本是,你已经告诉了另一个地方看(用你的PATH
变化),但你补充说,在结束时中要看的地方的列表。它永远不会看到它,因为它已经找到了一个Java可执行文件,并且一旦找到它就停止查找。
的简单(我相信错了)的方式来做到这将是路径命令更改为:
PATH=$JAVA_HOME/bin:$PATH
,剩下的为是。
这将告诉你的系统在java文件夹先看看,但它会在那里寻找为每个应用(而不是找到它,然后查看下一个文件夹),这就是为什么这是错的 - 它会在你的电脑上放慢速度。
要做到这一点,正确的做法需要一些侦探工作。
开始与
which java
这会告诉你哪个Java可执行它的使用(在1.6.0一个)。在我的机器是
/usr/bin/java
好了,所以它放入一个ls -l
命令 - 但记得要替换您在上面得到的路径:
ls -l /usr/bin/java
在我的机器,它说:
lrwxrwxrwx 1 root root 22 Jul 2 11:39 /usr/bin/java -> /etc/alternatives/java
这里的箭头很重要(在开始的时候就是l
)。这意味着,/usr/bin/java
是一个符号链接/etc/alternatives/java
所以与再次进行ls -l
伎俩,并重复,直到你得到的东西,这不是一个符号链接 - 这是没有箭头的东西。
[email protected] ~ $ ls -l /etc/alternatives/java
lrwxrwxrwx 1 root root 46 Jul 2 11:39 /etc/alternatives/java -> /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
[email protected] ~ $ ls -l /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
-rwxr-xr-x 1 root root 6464 Jul 28 14:31 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
在我的情况下/etc/alternatives/java
是最后一个,这是一个符号链接。与openjdk-amd64
一个没有箭头,所以它是一个“真实”的文件,而不是一个符号链接。在我的情况下,我已经指向1.8版本的可执行文件。你现在应该指向1.6版本的可执行文件,我们需要改变它。
你需要做的是确定最后的符号链接,然后调整它。
在我的情况下,最后一个符号链接是/etc/alternatives/java
。
所以你需要更换一个链接到Java中/root/jdk1.8.0_91
(其中,顺便说一句,是把它的非常不寻常的地方),你最后的符号链接。
你这样做与ln
命令: LN -s文件1 LINK1
哪里file1
是Java可执行你要使用,并link1
是最后的符号链接,你发现(更多细节上ln
: https://www.cyberciti.biz/faq/creating-soft-link-or-symbolic-link/)。
所以在我机,你就必须得调整这一个,为你,我愿意做这样的事情:
sudo ln -s /root/jdk1.8.0_91/bin/java /etc/alternatives/java
所以,现在你的系统范围的默认的Java将指向你想要的一个。
然后,您可以将PATH
修改从您的配置文件(以及出口语句)中取出,但将其中的JAVA_HOME
保留。
你应该很好去。
请首先缩进代码。 –
借用[https://stackoverflow.com/help/formatting](https://stackoverflow.com/help/formatting)... –