JAVA_HOME and PATH are set but java -version still shows the old one(JAVA_HOME 和 PATH 已设置,但 java -version 仍显示旧版本)
问题描述
我正在使用 Linux Mint Cinnamon 14.我在 ~/.profile
中设置了 $JAVA_HOME
和 $PATH
环境变量,如下所示:
I am using Linux Mint Cinnamon 14. I have set the $JAVA_HOME
and $PATH
environment variables in ~/.profile
as follows:
export JAVA_HOME=/home/aqeel/development/jdk/jdk1.6.0_35
export PATH=/home/aqeel/development/jdk/jdk1.6.0_35/bin:$PATH
然后我做了 source ~/.profile
以进行适当的更改.
I then did source ~/.profile
to make the proper changes.
当我执行 java -version
命令检查活动的 java 版本时,它显示默认的(已经安装的 open-jdk)java 版本.如何用我下载的 open-jdk 覆盖默认的 open-jdk?
When I execute java -version
command to check the active java version, it shows the default (already installed open-jdk) java version. How can I override the default open-jdk with the one I downloaded?
更新:
哪个java
说/usr/bin/java
which java
says /usr/bin/java
$JAVA_HOME/bin/java -version
说权限被拒绝"
sudo $JAVA_HOME/bin/java -version
(然后要求输入密码)说找不到命令
sudo $JAVA_HOME/bin/java -version
(asks for password, then) says Command not found
但是cd $JAVA_HOME/bin
,而ls
显示是正确的目录.
but cd $JAVA_HOME/bin
, and ls
shows that it is right directory.
推荐答案
虽然您的设置看起来是正确的,但有几件事需要检查:
While it looks like your setup is correct, there are a few things to check:
env
的输出 - 特别是PATH
.command -v java
告诉你什么?$JAVA_HOMEin
中是否有一个java
可执行文件,它是否设置了执行位?如果不是chmod a+x java
它.
- The output of
env
- specificallyPATH
. command -v java
tells you what?- Is there a
java
executable in$JAVA_HOMEin
and does it have the execute bit set? If notchmod a+x java
it.
我相信在添加/更改 JAVA_HOME
和 PATH
之后,您的 .profile
已经 source
了?
I trust you have source
'd your .profile
after adding/changing the JAVA_HOME
and PATH
?
另外,您可以通过编写以下代码来帮助自己在将来维护 JDK 安装:
Also, you can help yourself in future maintenance of your JDK installation by writing this instead:
export JAVA_HOME=/home/aqeel/development/jdk/jdk1.6.0_35
export PATH=$JAVA_HOME/bin:$PATH
那么你在安装JDK的时候只需要更新一个环境变量.
Then you only need to update one env variable when you setup the JDK installation.
最后,您可能需要运行 hash -r
来清除 Bash 程序缓存.其他 shell 可能需要类似的命令.
Finally, you may need to run hash -r
to clear the Bash program cache. Other shells may need a similar command.
干杯,
这篇关于JAVA_HOME 和 PATH 已设置,但 java -version 仍显示旧版本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:JAVA_HOME 和 PATH 已设置,但 java -version 仍显示旧版本
基础教程推荐
- Java:带有char数组的println给出乱码 2022-01-01
- 减少 JVM 暂停时间 >1 秒使用 UseConcMarkSweepGC 2022-01-01
- 在 Libgdx 中处理屏幕的正确方法 2022-01-01
- 无法使用修饰符“public final"访问 java.util.Ha 2022-01-01
- FirebaseListAdapter 不推送聊天应用程序的单个项目 - Firebase-Ui 3.1 2022-01-01
- “未找到匹配项"使用 matcher 的 group 方法时 2022-01-01
- 降序排序:Java Map 2022-01-01
- 如何使用 Java 创建 X509 证书? 2022-01-01
- Java Keytool 导入证书后出错,"keytool error: java.io.FileNotFoundException &拒绝访问" 2022-01-01
- 设置 bean 时出现 Nullpointerexception 2022-01-01