项目场景:
首次使用 IDEA 开发工具, 利用一段: 输出 hello 的代码, 简单测试环境配置是否成功.
代码如下:
public class hello {
public static void main(String[] args) {
System.out.println("hello");
}
}
问题描述
代码运行后, 程序报错.
错误: 无法确定'tools.jar'库的路径
原因分析:
IDEA的版本与JDK的版本不兼容
在 JDK1.7(JDK 7) 或 JDK1.8(JDK 8) 中, 遇到 tools.jar
问题, 大概率是, tools.jar 丢失了.
- 因为在安装 JDK1.7 或 JDK 1.8 时, 需要先后选择 JDK 与 JRE 包的路径.
- 如果所选的路径相同,那么 JRE 包中的内容会覆盖掉 JDK 中的内容,因此, tools.jar 会丢失.
但是安装高版本的 JDK 时, 出现 无法确定 xx 的路径
问题时.
- 大概率不是 tools.jar 被覆盖, 而是 JDK 与 开发工具 (IDEA) 不兼容.
- 因为, 高版本 JDK 安装时, 只需要选择一次安装路径, 所以不存在覆盖问题.
- 但是伴随 JDK 版本的升级, JDK 里的内容可能发生变化, 各种文件夹的位置也可能发生变化.
- 那么, 当 JDK 的版本与 IDEA 中 JDK 的版本不同时, 就会有很多文件夹实际存在, 但是 IDEA 找不到, 所以报错.
project language level
查阅: project structure (项目结构) 中的 project language level (项目语言等级)
发现: 目前版本的 IDEA 最高支持 java14 (JDK14)
查阅 IDEA使用手册 中的 project language level
发现, project language level 可以作用于某一个模块时, 使得该模块 向下兼容 (较高版本环境中编写的程序, 可以在较低版本的环境中运行)
并且 project language level 的版本上限, 由 IDEA 版本决定, IDEA 版本越高, project language level 所支持的最高语言等级也越高
所以, 当 IDEA 中出现 找不到 xx 的路径
时, 应该首先比较 project language level 与 当前JDK版本.
解决方案:
问题在于 JDK 比 IDEA 的等级高,所以解决方法有两种:
- IDEA 升级; 将 IDEA 升至 IDEA 2021.2.1版本及以上.
- JDK 降级; 将 JDK 的版本降至 JDK14 及以下.