Java IntelliJ can';没有sudo就找不到tools.jar
我试图在Ubuntu 14.04上运行IntelliJ。我读过,但解决方案不适用——我肯定安装了JDK而不是JRE。当我尝试运行Java IntelliJ can';没有sudo就找不到tools.jar,java,ubuntu,intellij-idea,Java,Ubuntu,Intellij Idea,我试图在Ubuntu 14.04上运行IntelliJ。我读过,但解决方案不适用——我肯定安装了JDK而不是JRE。当我尝试运行idea.sh时,会收到错误消息: “tools.jar”似乎不在IDEA类路径中。请确保您回家 指向JDK而不是JRE JAVA_HOME设置为/etc/JAVA-7-openjdk。Eclipse(以Eclim的形式)在找到它时没有问题javac-version打印javac1.7.0\u 55 但是,如果我运行sudo./idea.sh,IntellJ启动时会很好
idea.sh
时,会收到错误消息:
“tools.jar”似乎不在IDEA类路径中。请确保您回家
指向JDK而不是JRE
JAVA_HOME
设置为/etc/JAVA-7-openjdk
。Eclipse(以Eclim的形式)在找到它时没有问题javac-version
打印javac1.7.0\u 55
但是,如果我运行
sudo./idea.sh
,IntellJ启动时会很好。我遗漏了什么?结果是JAVA\u 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/
半小时前我也有同样的问题。我花了半个小时来修好它,这就是它对我的作用: 短版: 加 到你的
.bashrc
,找到它,你就没事了
说明:
在Ubuntu中安装JDK后,磁盘上有多个文件夹。
根文件夹是
/usr/lib/jvm/java-7-openjdk-amd64/
上述/jre
-文件夹所在的文件夹。
整个问题是,jre/lib
-文件夹不包含IDE搜索的tools.jar
-文件。
只有/usr/lib/jvm/java-7-openjdk-amd64/lib
-文件夹可以
要使一切正常工作,您必须将/usr/lib/jvm/java-7-openjdk-amd64
指定为java\u HOME
将/usr
设置为您的JAVA\u主页
无法解决问题,因为它与/etc/alternations
相关联,后者与我们的老朋友/jre
-文件夹相关联
我希望这对你有帮助 您可以如下更改当前的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
在64位Debian 7中,我通过在idea.sh的/path/to/intellij文件夹/bin下添加这两行代码解决了这个问题/
export IDEA_JDK=/path/to/jdk/
export JAVA_HOME=/path/to/jre
我希望它能解决Ubuntu中的问题。谢谢!这正是我面临的问题,你的解决方案/解释帮助我解决了它!您知道
.bashrc
文件中不需要“导出”吗?因此可以删除。
export IDEA_JDK=/path/to/jdk/
export JAVA_HOME=/path/to/jre