Intellij:JDK必需:'tools.jar'似乎不在IDEA类路径Ubuntu 16.04中

时间:2017-06-21 06:47:07

标签: intellij-idea intellij-14 java-home

我在SO上查看了很多答案,并且也遵循了它们,但错误仍然存​​在,我无法启动java的Intellij。 这是我的java版本

openjdk version "9-internal"
OpenJDK Runtime Environment (build 9-internal+0-2016-04-14-195246.buildd.src)
OpenJDK 64-Bit Server VM (build 9-internal+0-2016-04-14-195246.buildd.src, mixed mode)

我的javac

javac 9-internal

我的 $ JAVA_HOME

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

当我cd进入<ide_folder>/bin并运行./idea.sh

我关注error

JDK Required: 'tools.jar' seems to be not in IDEA classpath.
Please ensure JAVA_HOME points to `JDK` rather than `JRE`.

当我sudo ./idea.sh时出现以下错误

WARN: Unknown class loader: jdk.internal.loader.ClassLoaders$AppClassLoader
WARN: Unknown class loader: jdk.internal.loader.ClassLoaders$PlatformClassLoader
WARN: Unknown class loader: jdk.internal.loader.ClassLoaders$AppClassLoader
WARN: Unknown class loader: jdk.internal.loader.ClassLoaders$PlatformClassLoader

JDK Required: 'tools.jar' seems to be not in IDEA classpath.
Please ensure JAVA_HOME points to JDK rather than JRE.
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007f5624a1e009, pid=15159, tid=15182
#
# JRE version: OpenJDK Runtime Environment (9.0) (build 9-internal+0-2016-04-14-195246.buildd.src)
# Java VM: OpenJDK 64-Bit Server VM (9-internal+0-2016-04-14-195246.buildd.src, mixed mode, tiered, compressed oops, concurrent mark sweep gc, linux-amd64)
# Problematic frame:
# C  [libjava.so+0x1d009]  JNU_GetEnv+0x19
#
# Core dump will be written. Default location: Core dumps may be processed with "/usr/share/apport/apport %p %s %c %P" (or dumping to /home/ekbana/softwares/idea-IC-171.4694.23/bin/core.15159)
#
# An error report file with more information is saved as:
# /home/ekbana/java_error_in_IDEA_15159.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
Aborted (core dumped)

我已经达到了一点,我不知道发生了什么。

7 个答案:

答案 0 :(得分:3)

在我的情况下,我需要运行以下两个命令:

sudo apt-get install openjdk-8-jre
sudo apt-get install openjdk-8-jdk

答案 1 :(得分:2)

那些厌倦了寻找解决方案的人。 对于linux用户

  1. 打开终端并输入
  2.   

    incred @ incred-Latitude-3560:〜$ whereis java

    1. 将位置复制到最后一次离开 / bin / java ,就我而言
    2. / home / incred / development / android-studio / jre / bin / java

      变为

      /首页/ incred /开发/ Android的工作室/ JRE

      1. 现在转到您的想法安装位置并前往垃圾箱 目录
      2.   

        cd idea-IC-172.3968.16 / bin /

        使用所需的编辑器打开idea.sh文件,并在查找工具中查找此行。 的 JAVA_BIN = “$ JDK / bin中/ JAVA” 将之前的java位置粘贴到找到的位置上的一行。

          

        JDK = “/家/ incred /开发/机器人工作室/ JRE”

             

        JAVA_BIN = “$ JDK / bin中/ JAVA”

        保存并从终端执行idea.sh。 简而言之,只是尝试在idea.sh文件中为Windows用户更新java安装的位置。

答案 2 :(得分:1)

请遵循以下五个简单步骤。它应该可以工作:

  1. 根据您的操作系统从Oracle网站下载JDK。提取并准备好放在文件夹中。

  2. 转到Java Installed文件夹:您可以通过键入哪个Java 来找到该文件夹​​,并只考虑JRE之前的路径。

Java安装文件夹示例:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el6_10.x86_64/jre/bin/java

考虑:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el6_10.x86_64 /

在考虑的路径(对于jdk)之后创建以下目录

sudo mkdir /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el6_10.x86_64/jdk

  1. 将从步骤1下载的文件粘贴到此文件夹中:

您提取的jdk应该与此类似:

/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el6_10.x86_64/jdk/jdk1.8.0_221

  1. 转到IntelliJ安装的bin文件夹并搜索idea.sh

示例:/home/cloudera/intellij/idea-IC-192.6817.14/bin/idea.sh

搜索以下行:JAVA_BIN =“ $ JDK / bin / java” 您可以通过使用vi打开文件来搜索文件,然后按ESC,然后按/,然后粘贴JAVA_BIN =“ $ JDK / bin / java”。在此行的顶部添加我们刚刚创建的JDK路径:

示例:JDK = / usr / lib / jvm / java-1.8.0-openjdk-1.8.0.222.b10-0.el6_10.x86_64 / jdk / jdk1.8.0_221

  1. 运行idea.sh文件以启动IntelliJ并享受编码。

sh /home/cloudera/intellij/idea-IC-192.6817.14/bin/idea.sh

基本上,我们为IntelliJ提供了JDK参考。

答案 3 :(得分:0)

确保您的系统上安装了JDK。

sudo apt-get install openjdk-7-jdk

如果这不能解决您的问题,您必须告诉您的系统使用该JDK而不是当前的JRE。为此,您可以通过在终端中执行以下命令来选择系统上默认使用的JDK / JRE。

sudo update-alternatives --config java

此命令将为您提供备用java选项的列表,然后您可以选择JDK而不是JRE。

答案 4 :(得分:0)

我终于解决了让我疯狂的问题。

首先,您必须确保从oracle的网页下载了JDK for linux。 Oracle JDK download

接下来你必须去安装intellij的路径: idea-IC-173.4548.28 / bin /

你有两种修改文件idea.sh,throw terminal或text deditor的方法。在我的情况下,teminal:

nano idea.sh

你需要声明你离开的路径(安装JDK)这可以是:

  • 自己的路径:/home/programs/jdk1.8.0_162
  • 系统路径:/user/lib/jvm/bin/java-1.8.0-openjdk-i386

你声明的方式如下:

#Locate a JDK installation dierctory which will be used to run the IDE.
#Try (in order): IDEA_JDK, idea.jdk, ./jre64, JDK_HOME, JAVA_HOME, "java" in PATH
#------------------------------------------------------------------------------

您插入:

JAVA_HOME="/home/programs/jdk1.8.0_162"

保存。

接下来,我们必须将tool.jar从路径 /home/programs/jdk1.8.0_162/lib 复制粘贴到路径 /home/programs/jdk1.8.0_162/仓

最后我们返回终端:

cd /home/programs/jdk1.8.0_162/bin
./idea.sh

它应该有效。

答案 5 :(得分:0)

我遇到了类似的问题,我没有使用Oracle JDK而是在Debian Stretch上使用OpenJDK-8,试图找到JDK工具并找不到它,但是eclipse和maven工作正常。我刚刚为Debian安装了default-jdk,它使用以下命令解决了IntelliJ IDEA的问题

  

sudo apt-get install default-jdk

答案 6 :(得分:0)

对于像我这样在Fedora上使用它的懒惰者,我只需要找到适用于Java的良好模块(带有jdk的opendjdk),然后导出vairable模块即可。

sudo dnf安装java-1.8.0-openjdk-devel

export JDK = / usr / lib / jvm / java-1.8.0-openjdk-1.8.0.191.b12-8.fc29.x86_64