我试图在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会正常运行。我错过了什么?
答案 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