解决IntelliJ IDEA报错Error:Cannot determine path to 'tools.jar' library for 17 (C:\Program Files\Java\jdk-17

  • 方法 1
  • 方法 2

  这个月,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 安装后界面消失,再次打开后界面不动:
https://blog.csdn.net/wangpaiblog/article/details/120425678

  IntelliJ IDEA 的官网是:https://www.jetbrains.com/idea/。刚下载的时候,笔者还担心它也不能解析 Java 17,不过现在看来这种担心是多余的。

该项目运行正常时的环境:

  • IntelliJ IDEA 2021.2.2 (Ultimate Edition)

  • JDK 17

  升级完 IntelliJ IDEA 之后,将 Project Structure 进行如下配置即可。

解决IntelliJ IDEA报错Error:Cannot determine path to ‘tools.jar‘ library for 17 (C:\Program Files\Java\jd相关推荐

  1. 解决IntelliJ IDEA报错Error: java: 错误: 不支持发行版本 XX

    解决IntelliJ IDEA报错Error: java: 错误: 不支持发行版本 XX 解决方法 1 解决方法 2 解决方法 3   笔者在做代码重构的时候,以前记得运行正常的代码,如今一直报错,百 ...

  2. Cannot determine path to ‘tools.jar‘ library for corretto-17 (C:/Users/86153/.jdks/corretto-17.0.3)

    Cannot determine path to 'tools.jar' library for corretto-17 (C:/Users/86153/.jdks/corretto-17.0.3) ...

  3. 解决IntelliJ IDEA报错:调用方法[manageApp]时发生异常java.lang.IllegalStateException: 启动子级时出错

    解决IntelliJ IDEA报错:调用方法[manageApp]时发生异常java.lang.IllegalStateException: 启动子级时出错 问题描述:   笔者将一个在 Tomcat ...

  4. 解决IntelliJ IDEA报错Failed to read candidate component class: file [ ]; nested exception is org.

    解决IntelliJ IDEA报错Failed to read candidate component class: file [ ]; nested exception is org.springf ...

  5. mysql5.7 1045 pc,解决MySQL5.7报错ERROR 1045 (28000): Access denied for user

    解决MySQL5.7报错ERROR 1045 (28000): Access denied for user 解决MySQL5.7报错ERROR 1045 (28000): Access denied ...

  6. android studio报错Error:Project with path 'XXXX' could not be found解决办法

    刚从服务器上剪下来的工程编译死活报 project with path '... ' could not be found in project ' app' 这个错, 找不到依赖库,可是检查工程里面 ...

  7. 解决执行Mysql报错: ERROR: The server quit without updating PID file (/data/xxx.pid)

    昨天在Linux中安装mysql-8.0.28时遇到了这个报错: ERROR! The server quit without updating PID file (/data/xxx.pid) 其实 ...

  8. 解决 docker exec 报错 Error response from daemon: Container XXXXX is not running

    docker exec 报错 Error response from daemon: Container XXXXX is not running 解决思路 XXXXX 为报错容器id 问题描述 废话 ...

  9. 解决gitte提交报错 error: GE007: Your push would publish a private email address.

    错误情况: gitte提交报错,无法提交上去,报错如下: remote: Powered by GITEE.COM [GNK-6.0] remote: error: GE007: Your push ...

最新文章

  1. COLLATE 函数
  2. Microsoft 邀您参加云对话!
  3. stolz定理考研能用吗_重磅,考研数学最后重点预测
  4. [Python人工智能] 二十九.什么是生成对抗网络GAN?基础原理和代码普及(1)
  5. ztree 点击重载 layui table
  6. 计算机算法可分为两大类别_广东元耀:您了解过防水淋雨试验箱可分为哪几种类别吗?...
  7. Node.js nodemn
  8. cocos2d-xandroid返回键菜单键
  9. java 改文件名的例子
  10. winform最小化至托盘、右下角弹框提示
  11. IOS如何使用第三方字体
  12. Landsat 8卫星波段介绍以及波段组合
  13. 微信小程序样式大全(一)
  14. 远程访问及控制工具SSH
  15. C++ Learning (Next)
  16. array_unshift php,php array_unshift函数怎么用?
  17. 【iOS】Sign in with Apple
  18. 垃圾渗滤液处理工艺,你至少要知道这些!
  19. 医院AI智能随访电话机器人-北京联络加Loojion自主研发
  20. 如何让administrator不出现在windows7系统登录界面

热门文章

  1. Burrow 服务的安装部署
  2. Data Vault的一点思考(二)
  3. Fastify 2.0.1 和 1.14.3 发布,极速 Node.js Web 框架
  4. .net core 2.0部署到CentOS7系统
  5. 《.NET应用架构设计:原则、模式与实践》新书博客--试读-持续更新
  6. Windows Embedded从入门到精通4月预告
  7. linux 删除文件反选
  8. Linux环境下Android开发环境的搭建
  9. 销售自动记帐凭证 - 三个常见问题
  10. DelayExchange原理