JAVA_HOME和PATH中的java版本不匹配

时间:2016-09-07 10:42:44

标签: java eclipse ubuntu java-home eclipse-neon

我有02个问题:

1 - 我尝试在我的Ubuntu 14.04中运行Eclipse neon并且我收到此错误

enter image description here

我认为这个问题与java版本有关(Eclipse neon需要java 8)?

2 - 所以,我检查我的java版本,拿走我得到的东西

java -version

enter image description here

neon vi /etc/profile.d/java.sh

enter image description here

enter image description here

enter image description here

这是我的问题,我设置java_home = java 8但是在PATH中它仍然是java 7 !!!,你怎么想?我想要java -version = java 8

由于

4 个答案:

答案 0 :(得分:1)

在您的Path变量中,Java 1.7的引用似乎是在Java 1.8之前给出的。 当你运行java -version时,它会在Path变量中搜索bin目录,一旦获得引用,它就会返回版本。尝试从Path变量中删除/opt/java/jdk1.7.0_21/bin,我相信它会在那之后工作。 希望这个答案可以帮助你

答案 1 :(得分:0)

java.sh似乎可以做你想做的事:设置JAVA_HOME-和PATH-环境变量。 当你启动java时,你确定它已经启动了吗?你是否手动启动并测试它是否有效呢?

答案 2 :(得分:0)

运行脚本时,我猜导出cmd只会更改该shell中的PATH,而您可能正在从另一个shell运行eclipe。另请查看eclipse.ini文件以获取eclipse版本。

答案 3 :(得分:0)

嗯,这里要记住很多事情。

首先是......无论你使用什么java_home,它仍然会首先看你的路径!你的路径是使用java7!您应该从路径中删除硬编码的java,而不是在路径中使用JAVA_HOME / bin。也许你在修改环境变量时切换用户? 也不要忘记在导出PATH之前导出JAVA_HOME!

第二......你可能有一个系统全局java,但想用其他jre运行eclipse。检查eclipse.ini中的-vm设置(通常在/etc/eclipse.ini中)

添加eclipse.ini的顶部

-vm
/opt/java/jdk1.8.0_20/bin/java

From askubuntu(关于PATH更新无效的原因)

  

您可以在以下几个地方定义$PATH

     

/etc/environment是一个影响所有人的纯文本文件(不是脚本)   用户~/.pam_environment - 同样的事情,但也是用户特定的bash   执行一些可用于修改$PATH的脚本:

     对于登录shell会话执行

~/.profile(不要问我是什么   这意味着:)

     对于非登录交互式shell执行

~/.bashrc   会议

     

/etc/profile/etc/bash.bashrc是系统范围的   ~/.profile~/.bashrc

的替代方案      

我在那里读到了   /etc/environment是推荐用于定义$PATH的地方。所以我   通常使用它。但是你的路径可能会在另一个路径中被修改   地方。

     

BTW,当您使用sudo执行命令时,我认为它通常使用   root用户的$ PATH(而不是您的非特权用户的$ PATH   帐户)。那么,~/.profile中的〜/ .pam_environment,~/.bashrc/root   目录也可能发挥作用。

相关问题