'tools.jar' 不在 IDEA 的类路径中。

我是Linux的新用户,这是我的朋友推荐给我的。
他告诉我要安装一个叫做IntelliJ Idea IDE的软件。
我一直在按照教程进行操作。但是现在当我尝试打开"idea.sh"时,出现了一个错误提示框:
'tools.jar' is not in IDEA classpath.
Please ensure JAVA_HOME points to JDK rather than JRE.

请记住,我对Ubuntu还很陌生,但一旦我适应了它,我计划长期使用它 :)
另外,我不确定是否安装了正确的Java6 JDK。 当我运行java -version时,得到的结果是:
java version "1.6.0_23"
OpenJDK Runtime Environment (IcedTea6 1.11pre) (6b23~pre10-0ubuntu5)
OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode)

谢谢您阅读这篇文章,希望能得到一个好的回应。

我用这个答案解决了同样的问题,或许可以帮到你。http://stackoverflow.com/a/17827697/3057033 - Erol Guzoğlu
9个回答

确保您的系统上已安装JDK。
sudo apt-get install openjdk-7-jdk
如果这不能解决您的问题,您必须告诉您的系统使用该JDK而不是当前的JRE。为此,您可以通过在终端中执行以下命令来选择默认使用的JDK/JRE。
sudo update-alternatives --config java
这个命令将给您一个备选的Java选项列表,然后您可以选择一个JDK而不是JRE。

这个帮助很大,但现在我遇到了问题:tools.jar似乎不在IDEA的类路径中。 请确保JAVA_HOME指向的是JDK而不是JRE。 - fIwJlxSzApHEZIl
@advocate 我看到你在SO上的评论;你的问题已经通过重新安装JDK解决了,对吗? - allejo
2是的!只需sudo apt-get install openjdk-7-jdk。 - fIwJlxSzApHEZIl
2在这之前,我必须在~/.bashrc中设置JAVA_HOME路径才能使其正常工作。 - Fuzzy Analysis
你能告诉我怎么做这个吗?"设置JAVA_HOME ...." - Nitesh Verma
@NiteshVerma 在文件中添加 export JAVA_HOME=<some value>,然后打开一个新的终端窗口或者输入 source ~/.bashrc 来查看效果。 - allejo
太棒了,效果非常好。 - Debadatta

在我的Linux Mint环境中,我遇到了同样的问题。我尝试使用以下方法安装Oracle JDK8
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

但问题仍然存在,因为安装程序没有更改环境变量。 然后我尝试了以下方法。
sudo apt-get install oracle-java8-set-default

并且它解决了这个问题

完美的解决方案,同时也允许使用Java 8。 - Pitto
这对我有效(elementary OS x64 Freya),谢谢。 - zguell

试试这个:

sudo apt-get install openjdk-6-jdk

你需要JDK。


试试这个命令
export JAVA_HOME=/usr/lib/jvm/default-java

再次运行idea.sh。
请注意,这仅在您运行命令的终端内有效。您需要在.bashrc文件中设置变量。这将使其在您打开的每个终端上都生效。 StackOverFlow

我尝试了这个,但仍然得到相同的错误。 - Nitesh Verma
谢谢!我知道这不是每个人的问题,但其他答案实际上都没有说我应该将JAVA_HOME设置为什么! - River Tam

上面的答案都是正确的,但我有一点要补充。实际上,Shell会话和桌面GUI会话的环境变量是不同的(请查看此链接)。如果在使用桌面快捷方式启动IntelliJ时出现错误,可能是因为你的GUI环境中没有设置JAVA_HOME。
所以最简单的解决办法是在桌面快捷方式的Exec行中添加JAVA_HOME,就像这样:
[Desktop Entry]
Version=1.0
Type=Application
Name=IntelliJ IDEA Community Edition
Icon=/home/zhu/Applications/IntelliJ/bin/idea.png
Exec=env JDK_HOME=/usr/lib/jvm/java-7-openjdk-amd64 "/path/to/idea.sh" %f
Comment=Develop with pleasure!
Categories=Development;IDE;
Terminal=false
StartupWMClass=jetbrains-idea-ce

完美解决我的问题。在Exec中添加env参数就搞定了。 - Heather92065

我用以下命令解决了这个问题。
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
sudo apt-get install oracle-java8-set-default

并且

export JAVA_HOME=/usr/lib/jvm/default-java

你提到的最后一个命令export JAVA_HOME=/usr/lib/jvm/default-java应该放在哪里? - MadMike

在Ubuntu中,导出JAVA_HOME变量的解决方案对我无效。我通过将bin目录添加到PATH变量来解决了这个问题。

我从Oracle官网下载了JDK,并将其放在以下目录:/home/alejandro/software/JAVA-descarga/jdk1.8.0_25

然后,您需要将该路径添加到PATH变量中:

export PATH=/home/alejandro/software/JAVA-descarga/jdk1.8.0_25/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games  

然后在同一个终端中运行idea.sh文件,它会顺利启动。

尽管在用户界面弹出消息中写着
'tools.jar' is not in IDEA classpath.
Please ensure JAVA_HOME points to JDK rather than JRE.

在命令行中显示的内容
ERROR: cannot start IntelliJ IDEA.
No JDK found to run IDEA. Please validate either IDEA_JDK or JDK_HOME points to valid JDK installation

这对我来说正是问题所在。设置JAVA_HOME没有起作用,但必须设置JDK_HOME才能使其正常工作。

编辑文件 android-studio/bin/studio.sh,就像标记内容(JAVA_HOME 行)一样。
#!/bin/sh
#
# ---------------------------------------------------------------------
# Android Studio startup script.
# ---------------------------------------------------------------------

    JAVA_HOME=your_path/jdk1.8.0_31

message()