IntelliJ找不到没有sudo的tools.jar

时间:2014-07-28 09:19:01

标签: java ubuntu intellij-idea

我试图在Ubuntu 14.04上运行IntelliJ。我已经阅读了this question,但解决方案并不适用 - 我确实安装了JDK而不是JRE。当我尝试运行idea.sh时,收到错误消息:

  

'的tools.jar'似乎不在IDEA类路径中。请确保JAVA_HOME   指向JDK而不是JRE。

JAVA_HOME设置为/etc/java-7-openjdk。 Eclipse(以Eclim的形式)找到它没有问题。 javac -version打印javac 1.7.0_55

但是,如果我运行sudo ./idea.sh,IntellJ会正常运行。我错过了什么?

4 个答案:

答案 0 :(得分:5)

半小时前,我遇到了同样的问题。我花了半个小时来解决它,这就是它对我的作用:

简短版本 添加

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64

到你的.bashrc,来源,你很好。

<强>解释

在Ubuntu中安装JDK后,磁盘上有多个文件夹。 根文件夹是

/usr/lib/jvm/java-7-openjdk-amd64/

上面提到的/jre -Folder所在的

。 整个问题是,jre/lib -Folder不包含tools.jar - IDE搜索的文件。 只有/usr/lib/jvm/java-7-openjdk-amd64/lib - 文件夹可以。

要使一切正常,您必须将/usr/lib/jvm/java-7-openjdk-amd64指定为JAVA_HOME

/usr设置为JAVA_HOME不会解决问题,因为它与符号链接到/etc/alternatives符号链接到我们的老朋友/jre - 文件夹。

我希望这能帮到你!

答案 1 :(得分:3)

在64位Debian 7中,我通过在/ path / to / intellij-folder / bin /

下的idea.sh中添加这两行代码解决了这个问题。
export IDEA_JDK=/path/to/jdk/
export JAVA_HOME=/path/to/jre

我希望它能解决Ubuntu中的问题。

答案 2 :(得分:1)

事实证明JAVA_HOME设置错误,我需要将其设置为:

/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java

让它运作起来。我不知道为什么之前没有给我带来任何问题。

编辑:这个设置让Maven生气(虽然Maven通过IntelliJ工作正常)。对于未来的读者,我认为正确的设置是:

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/jre/

答案 3 :(得分:0)

您可以按如下方式更改当前的java版本

alternatives --config java 
alternatives --config javac

但在它们之前,您需要在备选方案中正确安装新安装的JDK:

alternatives --install /usr/bin/java java [new-jdk-path]/bin/java 120 --slave /usr/bin/rmiregistry rmiregistery [new-jdk-path]/bin/rmiregistry --slave /usr/bin/keytool keytool [new-jdk-path]/bin/keytool --slave /usr/lib/tools.jar tools.jar [new-jdk-path]/lib/tools.jar

alternatives --install /usr/bin/javac javac [new-jdk-path]/bin/javac 120 --slave /usr/bin/jar jar [new-jdk-path]/bin/jar --slave /usr/bin/rmic rmic [new-jdk-path]/bin/rmic