32

我有最新的 STS4。我正在使用嵌入的已安装 java-1.8 JDK 作为执行环境。我的项目运行良好,没有任何问题。

但是,当我启动 STS 应用程序本身时,我会弹出一个提示“缺少 tools.jar”

错误截图

我已经尝试过:

  1. 指向JAVA_HOME不同的JDK
  2. 在文件中添加了-vmargs 。.ini

但是我无法摆脱这个弹出窗口。

4

13 回答 13

30

我通过修改文件“eclipse.ini”解决了同样的问题。首先我尝试通过修改文件SpringToolSuite4.ini来解决它,但没有任何反应,因为我之前安装了eclipse ide,并且SpringToolSuite4.ini中的更改不起作用。然后我修改了文件 eclipse.ini;它奏效了。

我在 eclipse.ini 中所做的更改详述如下:

要检查 Eclipse 正在运行的 Java 版本(JRE 或 JDK),请执行以下操作:

  • 打开菜单项帮助 > 关于 Eclipse。(在 Mac 上,它位于 Eclipse 菜单中,而不是帮助菜单中)
  • 单击安装详细信息。
  • 切换到选项卡配置
  • 搜索以 -vm 开头的行。它后面的行显示使用了哪个 Java 二进制文件。

根据使用的 Java 二进制文件的名称和位置,可以确定使用的是 JRE 还是 JDK:

  • 如果路径包含“jre”(例如在 C:\Program Files\Java\jre6\bin\client\jvm.dll 中),则它是 JRE
  • 如果路径包含“jdk”(例如在 C:\Program Files\Java\jdk1.6.0_31\bin\javaw.exe 中),则它是一个 JDK。

如果 Eclipse 没有使用 JDK,则更改它:

  • 如果 Eclipse 正在运行,请退出
  • 转到 Eclipse 安装目录并在文本编辑器中打开文件 eclipse.ini。
  • 搜索行 -vmargs
  • 在 -vmargs 行之前,添加两行:

    在第一行,写 -vm

    在第二行,写入 JDK 安装的路径(通常类似于:Windows 上的 C:\Program Files\Java\jdk1.6.0_31\bin\javaw.exe)*

来源:https ://matsim.org/docs/devguide/eclipse/jdk

于 2018-12-21T02:11:47.033 回答
29

修复在 -vm 参数中。javaw.exe 的顺序和绝对路径似乎是问题所在。

自述文件提到 _ “要在备用 Java 运行时环境中运行 Eclipse,必须确定 Java 虚拟机二进制文件的路径。使用发行版中的 Eclipse 安装,更改 $PATH 变量以包含备用 Java 运行时的路径环境通常是不够的,因为 Linux 发行包的 Eclipse 经常在内部执行扫描以自行获取 GCJ,而忽略 $PATH 上的内容。”

所以我现在编辑了 SpringToolSuite4.ini 并做了这个条目

  -vm
 C:\UserTemp\Softwares\java\jdk\oracle-jdk-1.8-64bit\bin\javaw.exe

重新启动我的 STS,它运行完美。

设置 JVM指定 JVM的参考对于理解这一点非常有用。

于 2018-10-05T10:22:13.083 回答
16

不要花太多时间寻找 tools.jar。如果你遇到这样的错误,不要沮丧。

如果你已经有 java JDK1.8,去它的 lib 文件夹,tools.jar 应该在那里可用。将其复制并粘贴到 JRE1.8 lib 文件夹中。

于 2019-06-04T09:18:13.017 回答
5

我有 STS4,所以我修改了 SpringToolSuite4.ini

我从:

[...]
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.8
[...]

正是这个

[...]
--launcher.defaultAction
openFile
-vm
C:\Program Files\Java\jdk1.8.0_152\bin\javaw.exe
-vmargs
-Dosgi.requiredJavaVersion=1.8
[...]

然后消息消失了

于 2019-02-01T08:04:41.937 回答
1

解决方案 :

检查您的路径 JAVA_HOME - 系统属性“环境变量”

例如:JAVA_HOME:

C:\Program Files\Java\jdk-12.0.1\lib

通常你只需要在 JAVA_HOME 添加 \lib

在此处输入图像描述

于 2019-06-25T07:19:41.670 回答
1

只需从变量“路径”中删除这一行

"C:\Program Files (x86)\Common Files\Oracle\Java\javapath" 

系统属性 > 高级 > 环境变量 > 路径 > 编辑 > 重启

为我工作

于 2020-08-27T00:13:16.160 回答
0

通过下载工具文件并将其粘贴到 jre\lib 路径中。但请确保您应该将粘贴的文件重命名为“tools.jar”。

步骤 1 下载工具文件。下载链接http://www.java2s.com/Code/Jar/t/Downloadtools160jar.htm

步骤 2 解压缩 zip 文件。

第 3 步,您应该将包含的 .jar 文件重命名为“工具”。

第 4 步然后复制重命名的 tools.jar 文件并粘贴到 C:\Program Files\Java\jre8\lib\ 路径中。

然后重新启动 STS ide。

于 2020-06-15T11:19:00.563 回答
0
  • 我已经从 Window->preferences->Java->Installed JREs 修复了这个问题。然后添加jdk bin路径,取消勾选其他相关jre路径

在此处输入图像描述

于 2020-06-24T10:46:54.237 回答
0

对我来说,我必须做两件事才能让它发挥作用:

  1. 删除 vmargs:
    • vmargs
    • Dosgi.requiredJavaVersion=1.8
  2. 设置JDK:
    • vm
      C:\Program Files\Java\jdk1.8.0_131\bin
于 2020-06-06T06:17:12.907 回答
0

一旦打开,最初它在文件夹中STS寻找它在 jre\lib 文件夹中不可用。tools.jarjre\lib

所以我们需要tools.jarjdk\lib文件夹复制并粘贴到jre\lib文件夹中。

重新启动 STS,问题将解决。

于 2021-06-10T01:41:12.557 回答
0

就我而言,我已经安装了jre,而不是jdk

观察你已经安装了jdk!

于 2019-02-08T13:04:21.457 回答
0

当我升级到 Java 11 时,我遇到了同样的问题。

我只是编辑了 SpringToolSuite4.ini 并添加了

-vm C:\Program Files\Java\jdk-11.0.4\bin\javaw.exe

于 2019-10-31T13:50:04.623 回答
0

将 JDK 目录复制到您的 STS 安装或提取库,并将 JDK 重命名为 jre。STS 的目录结构应该是这样的

.eclipseproduct
artifacts.xml
configuration
dropins
eclipsec.exe
features
jre
license.txt
META-INF
open-source-licenses.txt
p2
plugins
readme
SpringToolSuite4.exe
SpringToolSuite4.ini
于 2020-08-06T11:53:40.493 回答