2021-09-22-解决IntelliJ-IDEA报错ErrorCannot-determine-path-to-tools.jar-library-for-17-CProgram-FilesJavajd
解决IntelliJ IDEA报错Error:Cannot determine path to ‘tools.jar‘ library for 17 (C:\Program Files\Java\jd
解决IntelliJ IDEA报错Error:Cannot determine path to ’tools.jar’ library for 17 (C:\Program Files\Java\jdk-17
这个月,Java 17 终于发布了。这是继 Java 11 之后的又一个 LTS 版本。没事找事的笔者决定试试 Java 17。果然,意料之中的事情发生了:笔者使用 Java 17 运行一个曾经运行正常的项目时,IntelliJ IDEA 发生了如下报错:
笔者报错时的运行环境:
- IntelliJ IDEA 2020.1.2 (Ultimate Edition)
- JDK 17
Error:Cannot determine path to 'tools.jar' library for 17 (C:\Program Files\Java\jdk-17)
然后,和以前一样。笔者又试着运行一个非常简单的 demo 项目,果然又发生了相同的报错。而该项目以前运行正常时的环境为:
该项目以前运行正常时的环境:
- IntelliJ IDEA 2020.1.2 (Ultimate Edition)
- JDK 11
笔者曾经屡次在不同的操作系统上安装过多个版本的 Java,对这个报错非常熟悉。这个报错说明,当前的 IntelliJ IDEA 无法解析这个版本的 JDK,所以它尝试从它内置的环境变量
CLASSPATH
来解析
tools.jar
,结果还是失败,因此它抛出了如上的报错信息。
可以印证这一点。在下图的
Project Structure
中可以清晰的看到,笔者的
IntelliJ IDEA 2020.1.2 (Ultimate Edition)
最高支持解析 JDK 14,因此对 Java 17 无能为力。
方法 1
知道原因了就好办了。一种方法是降低 JDK 的版本,使当前 IntelliJ IDEA 能够识别。
该项目以前运行正常时的环境:
- IntelliJ IDEA 2020.1.2 (Ultimate Edition)
- JDK 11
先安装低版本的 JDK,然后再在 IntelliJ IDEA 中的
Project Structure
中设置。如下图。不过笔者通常不喜欢这样做。
方法 2
另一种办法是提高 IntelliJ IDEA 的版本。为此,笔者专门下载并安装了当时最新版本的 IntelliJ IDEA:
IntelliJ IDEA 2021.2.2 (Ultimate Edition)
。出人意料而又在情理之中的是,笔者安装最新的 IntelliJ IDEA 时又遇到很多坑。笔者一直很想站在巨人的肩膀上,但实际上总是被巨人当做垫脚石。关于安装 IntelliJ IDEA 后打不开的问题,可见笔者的另一篇博客:
`解决 IntelliJ IDEA 安装后界面消失,再次打开后界面不动:
IntelliJ IDEA 的官网是:
https://www.jetbrains.com/idea/
。刚下载的时候,笔者还担心它也不能解析 Java 17,不过现在看来这种担心是多余的。
该项目运行正常时的环境:
- IntelliJ IDEA 2021.2.2 (Ultimate Edition)
- JDK 17
升级完 IntelliJ IDEA 之后,将
Project Structure
进行如下配置即可。
68747470733a2f2f62:6c6f672e6373646e2e6e65742f77616e67706169626c6f672f:61727469636c652f64657461696c732f313230343037383130