启动STS应用程序时缺少tools.jar

时间:2018-10-05 09:23:34

标签: jvm spring-tool-suite vmargs

我有最新的STS4。我正在使用未嵌入的java-1.8 jdk作为执行环境。我的项目运行正常,没有任何问题。

但是,当我启动STS应用程序本身时,我会弹出一个对话框 “缺少tools.jar” ScreenShot of the error 我已经尝试过

  1. 我尝试将JAVA_HOME指向其他Jdk
  2. 在.ini文件中添加了-vm args。

但是我不能摆脱这个弹出窗口。

13 个答案:

答案 0 :(得分:13)

此修复程序在-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 Specifying the JVM的参考对于理解这一点非常有用。

答案 1 :(得分:9)

我通过修改文件“ eclipse.ini”解决了同样的问题。首先,我试图通过修改文件SpringToolSuite4.ini来解决该问题,但是没有任何反应,因为我以前已经安装了Eclipse IDE,而SpringToolSuite4.ini中的更改没有用。然后我修改了文件eclipse.ini;而且有效。

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

要检查正在运行的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。

如果没有JDK用于Eclipse,请对其进行更改:

  • 退出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

答案 2 :(得分:0)

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

我从:

pip install git+git://github.com/usnistgov/fipy@develop

确切地说

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

消息消失了

答案 3 :(得分:0)

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

发现您已经安装了jdk!

答案 4 :(得分:0)

不要花太多时间寻找tools.jar。如果您遇到这样的错误,请不要难过。

如果您已经拥有Java JDK1.8,请转到其lib文件夹,那里应该有tools.jar。将其复制并粘贴到JRE1.8 lib文件夹中。

答案 5 :(得分:0)

解决方案:

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

例如:JAVA_HOME:

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

通常您只需要在JAVA_HOME上添加\ lib

enter image description here

答案 6 :(得分:0)

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

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

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

答案 7 :(得分:0)

对我来说,我必须做两件事才能使其正常工作:

  1. 删除vmargs:
    • vmargs
    • Dosgi.requiredJavaVersion = 1.8
  2. 设置JDK:
    • vm
      C:\ Program Files \ Java \ jdk1.8.0_131 \ bin

答案 8 :(得分:0)

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

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

步骤2 提取压缩文件。

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

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

然后重新启动STS ide。

答案 9 :(得分:0)

  • 我已从Window-> preferences-> Java-> Installed JRE修复此问题。 然后添加jdk bin路径,取消选中其他相关的jre路径

enter image description here

答案 10 :(得分: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

答案 11 :(得分:0)

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

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

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

为我工作

答案 12 :(得分:0)

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

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

重启 STS,问题会解决。