【问题标题】:IntelliJ can't find tools.jar without sudoIntelliJ 在没有 sudo 的情况下找不到 tools.jar
【发布时间】:2016-03-08 07:24:31
【问题描述】:

我正在尝试在 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 可以正常启动。我错过了什么?

【问题讨论】:

    标签: java ubuntu intellij-idea


    【解决方案1】:

    半小时前我遇到了完全相同的问题。我花了半个小时来修复它,这对我来说是这样的:

    短版: 添加

    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-文件夹。

    希望对你有所帮助!

    【讨论】:

    • 谢谢!这正是我面临的问题,您的解决方案/解释帮助我解决了它!
    • 您知道.bashrc 文件中不需要“导出”吗?因此可以删除。
    【解决方案2】:

    在 64 位 Debian 7 中,我通过在 /path/to/intellij-folder/bin/ 下的 idea.sh 中添加这两行代码解决了这个问题

    export IDEA_JDK=/path/to/jdk/
    export JAVA_HOME=/path/to/jre
    

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

    【讨论】:

      【解决方案3】:

      原来JAVA_HOME设置错了,我需要设置为:

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

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

      编辑:此设置使 Maven 生气(尽管通过 IntelliJ 的 Maven 工作正常)。对于未来的读者,我认为正确的设置是:

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

      【讨论】:

        【解决方案4】:

        您可以按如下方式更改当前的 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 
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2014-09-05
          • 1970-01-01
          • 2018-06-01
          • 2021-01-07
          • 2019-04-16
          • 1970-01-01
          • 2012-07-23
          相关资源
          最近更新 更多