代码改变世界

关于eclipse报 Could not find 'tools.jar' in the active JRE 问题详解

2020-10-19 14:21  在上海的日子里  阅读(2324)  评论(0编辑  收藏  举报

前言:

Java菜鸟之路走的太难了呜呜!先说问题和解决方法,再来谈谈菜鸟的踩坑之路!

一、问题描述

  最近学习springboot框架,按照教程照葫芦画瓢下载了一个sts插件,然后搭建springboot环境和运行springboot项目。之后eclipse每次打开都会报“ Could not find 'tools.jar' in the active JRE " 错误!

具体如图所示:

   但是在eclipse配置的jdk中只有一个jre1.8.0_211,而且已经做出了修改,但还是会报这个错误!!!

二、问题原因

1、在高版本的jdk中自动删除了jre里面的tools.jar文件,转移到jdk的lib文件内了。

2、多版本jdk问题,eclipse后来更改了jdk的版本,但是eclipse配置信息中还是旧的版本。(查看是否是版本不统一的方法)如下:

(1)jdk安装目录,确实存在多版本问题,同时自己也确实修改过。

(2)eclipse中点击:Window --> Preferences -->Java --> Install JREs查看:

(3)查看eclipse配置信息:

第一步查看eclipse配置信息,最先启动的是jre还是jdk,是否符合我们的配置的jre版本;

eclipse --> help --> about Eclipse IDE ,选择点击”Installation Details“,如下图所示:

 选择点击”Configuration“,找到--vm 相关信息,查看是jdk,还是jre,以及是什么版本;

  上图所示,是已经修改过的,未修改之前是jre1.8.0_244,这个错误原来和我文件中多个版本的jdk路径有关系!

 

三、解决方法

  百度到的解决方法大致有两种:

一种方法是听着比较高端,如下

找到STS的安装路径下的SpringToolSuite4.ini文件。在最开始增加两行

           -vm
           F:\Program Files\Java\jdk1.8.0_131\bin\javaw

           第二行是你的jdk路径。

另一种方法是按照字面意思缺啥补啥,即移动tools.jar到报错路径

1、方法1:按照字面意思--缺啥补啥

  以我遇到的报错信息为例:

    在现运行的jre路径下没有找到 tools.jar文件,springboot项目的运行需要这个文件。现在eclipse运行依赖的jre版本为jre1.8.0_241,

  可以寻找的tool.jar文件的地址如下。。。

  解决办法:

  ----在已有tools.jar 的jdk中复制一份转移到报错路径中。

2、方法2:

查看到eclipse配置信息中和我们已经勾选的jre不一样就要取改变其配置信息。步骤如下:

(1)找到eclipse安装的文件夹,我的是在D盘:

 

 (2点进去,先择eclipse的配置文件,即eclipse.ini文件,以记事本的方式打开,在开头添加如下信息:

-vm
C:\Program Files\Java\jdk1.8.0_211\bin\javaw  // 正确jdk版本的路径信息

如图所示:

 (3  重启eclipse,问题就解决了,也可以重新eclipse的配置信息。

 

四、概念理解和坑点

1、要想解决该问题,其实很简单,百度上面都有具体的解决方法,但是!却和我们理解的不一样,因为在该问题上eclipse和sts都是一个东西!!!!

理解了这个概念也就理解了百度上的解决方法---

SpringToolSuite4.ini文件 和 eclipse.ini文件是一个东西,修改sts配置文件即SpringToolSuite4.ini文件,也就是修改eclipse安装目录下的eclipse.in文件

如果不理解这两个概念就会出现下图评论中问题:

该评论中不是找不到ini文件,是不知道解决方法中提到的  SpringToolSuite4.ini文件,也就是修改eclipse安装目录下的eclipse.in文件---因为我们自己下载的STS插件都是zip压缩文件,当然找不到哦

2、STS和eclipse的区别

但是 eclipse和STS在客观上是不一样的!!!

  spring Tool Suite(sts)就是一个基于Eclipse的开发环境, 用于开发Spring应用程序。它提供了一个现成的使用环境来实现, 调试, 运行, 和部署你的Spring应用程序。包括为关键的的服务器和云计算Git, Maven, AspectJ, 和最新的Eclipse版本提供整合支持。

     换句话说, Spring Tool Suite是一个定制版的eclipse, 由spring framework官方在javaee版本的eclipse上包装spring插件出来的版本, 其核心还是javaee版本的eclipse。

    所以可以直接从官网下载已经集成了sts的Eclipse。

大白话翻译一下:STS是一个高度封装spring的框架,而且这个框架集成度特别高,现在已经可以作为eclipse的插件方式进行安装了!!!!