[英]editing .bashrc does not change JAVA_HOME [duplicate]
这个问题已经在这里有了答案:
我想在Ubuntu中更改为JAVA 8。
我在〜/ .bashrc和/ etc / environment中更改了JAVA_HOME并将其来源。 这导致JAVA_HOME更改。
PepperBoy@PepperBoy-Inspiron-3542:~/Desktop$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/lib/jvm/jre1.8.0_45/bin:/home/PepperBoy/Desktop/hadoopinstallation/hadoop-1.2.1/bin
PepperBoy@PepperBoy-Inspiron-3542:~/Desktop$ echo $JAVA_HOME
/usr/lib/jvm/jre1.8.0_45
PepperBoy@PepperBoy-Inspiron-3542:~/Desktop$ cat /etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
export JAVA_HOME="/usr/lib/jvm/jre1.8.0_45/bin/"
但是,我的Java版本仍然显示较早的版本。
PepperBoy@PepperBoy-Inspiron-3542:~/Desktop$ java -version
java version "1.7.0_75"
OpenJDK Runtime Environment (IcedTea 2.5.4) (7u75-2.5.4-1~precise1)
OpenJDK 64-Bit Server VM (build 24.75-b04, mixed mode)
Also, running the below commmand only gives me options for java 6 and 7, not for java 8
PepperBoy@PepperBoy-Inspiron-3542:~/Desktop$ sudo update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java 1061 auto mode
1 /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java 1061 manual mode
* 2 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1051 manual mode
Press enter to keep the current choice[*], or type selection number:
最后,运行以下命令为我提供了符号链接,该链接将我指向系统正在使用的实际Java可执行文件。 我将其编辑为下载的Java 8,现在我的java -version显示了正确的版本。
PepperBoy@PepperBoy-Inspiron-3542:~/Desktop$ which java
/usr/bin/java
PepperBoy@PepperBoy-Inspiron-3542:~/Desktop$ ls -l /usr/bin/java
lrwxrwxrwx 1 root root 22 Apr 29 2014 /usr/bin/java -> /etc/alternatives/java
PepperBoy@PepperBoy-Inspiron-3542:~/Desktop$ ls -l /etc/alternatives/java
lrwxrwxrwx 1 root root 46 Oct 17 2014 /etc/alternatives/java -> /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
我的问题是:
其他要调用Java的工具使用JAVA_HOME
。 他们(通常)会在JAVA_HOME
下查找Java(如果已设置)。 如果没有,他们将使用$PATH
上找到的任何Java。 如果要使用JAVA_HOME
在外壳中查找Java,则必须将其添加到PATH
; shell搜索二进制文件的方式没有什么神奇的,可以让它在搜索java
时做一些特殊的事情。
您可以使用:
export JAVA_HOME=/usr/lib/jvm/jre1.8.0_45
export PATH=$JAVA_HOME/bin:$PATH
另外,在Ubuntu上,如果可以同时安装给定软件包的多个不同版本或类型,则可以使用Alternatives系统控制它:
$ sudo update-alternatives --config java
There are 3 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1071 auto mode
1 /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java 1061 manual mode
2 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1071 manual mode
3 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 manual mode
Press enter to keep the current choice[*], or type selection number:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.