解决IntelliJ IDEA报错Error:Cannot determine path to ‘tools.jar‘ library for 17 (D:/JAVA)

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 解决IntelliJ IDEA报错Error:Cannot determine path to ‘tools.jar‘ library for 17 (D:/JAVA)
前言:在拉取项目的完项目时候,准备运行报Error:Cannot determine path to 'tools.jar' library for 17 (D:/JAVA)
解决IntelliJ IDEA报错Error:Cannot determine path to 'tools.jar' library for 17 (D:/JAVA)

使用 Java 17 运行一个曾经运行正常的项目时,IntelliJ IDEA 发生了如下报错:

报错时的运行环境:

  • IntelliJ IDEA 2020.1.2 (Ultimate Edition)
  • JDK 17

 

Error:Cannot determine path to 'tools.jar' library for 17 (D:/JAVA)

曾经屡次在不同的操作系统上安装过多个版本的 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 – the Leading Java and Kotlin IDE。刚下载的时候,还担心它也不能解析 Java 17,不过现在看来这种担心是多余的。

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

  • IntelliJ IDEA 2021.2.2 (Ultimate Edition)
  • JDK 17

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

 

目录
相关文章
|
2月前
|
Java Maven
java项目中jar启动执行日志报错:no main manifest attribute, in /www/wwwroot/snow-server/z-server.jar-jar打包的大小明显小于正常大小如何解决
在Java项目中,启动jar包时遇到“no main manifest attribute”错误,且打包大小明显偏小。常见原因包括:1) Maven配置中跳过主程序打包;2) 缺少Manifest文件或Main-Class属性。解决方案如下:
java项目中jar启动执行日志报错:no main manifest attribute, in /www/wwwroot/snow-server/z-server.jar-jar打包的大小明显小于正常大小如何解决
|
25天前
|
Java Windows
【Azure Function】部署Java Function失败:报错deploy [ERROR] Status code 401和警告 'China North 3' may not be a valid region
1:deploy [ERROR] Status code 401, (empty body). 2: China North 3 may not be a valid region,please refer to https://aka.ms/maven_function_configuration#supported-regions for values. 3:  <azure.functions.maven.plugin.version>1.36.0</azure.functions.maven.plugin.version>
34 11
|
6月前
|
Rust Java 文件存储
Java系统中的错误码设计问题之通过properties文件管理Error Code如何解决
Java系统中的错误码设计问题之通过properties文件管理Error Code如何解决
71 1
|
3月前
|
JSON Java 关系型数据库
Java更新数据库报错:Data truncation: Cannot create a JSON value from a string with CHARACTER SET 'binary'.
在Java中,使用mybatis-plus更新实体类对象到mysql,其中一个字段对应数据库中json数据类型,更新时报错:Data truncation: Cannot create a JSON value from a string with CHARACTER SET 'binary'.
276 4
Java更新数据库报错:Data truncation: Cannot create a JSON value from a string with CHARACTER SET 'binary'.
|
4月前
|
Java
让星星⭐月亮告诉你,Java异常分类[Throwable(Error/Exception(RuntimeException/其他异常)) 检查时异常 非检查时异常]
本文深入解析了Java异常处理机制,重点介绍了`Throwable`类及其子类`Error`和`Exception`,并通过实例代码、流程图和表格详细解释了异常的分类、区别及处理方法,帮助读者掌握异常处理的关键技巧,提升程序的稳定性和健壮性。
105 1
|
5月前
|
Oracle Java 关系型数据库
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
如果遇到"exec format error"问题,文章建议先检查Linux操作系统是32位还是64位,并确保安装了与系统匹配的JDK版本。如果系统是64位的,但出现了错误,可能是因为下载了错误的JDK版本。文章提供了一个链接,指向Oracle官网上的JDK 17 Linux版本下载页面,并附有截图说明。
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
|
4月前
|
Java
【Azure Developer】com.azure:azure-identity jar包版本从1.2.0 升级到1.12.2 版本之后报错
在将 `com.azure:azure-identity` 的 jar 包版本从 1.2.0 升级到 1.12.2 后出现错误,错误信息表明存在方法未找到的问题。分析显示这是由于依赖管理错误导致,需要调整 classpath 确保使用兼容版本的依赖包。当前项目中 msal4j-1.11.0.jar 与 azure-identity-1.12.2 不兼容。
|
4月前
|
Java
Error:java: 无效的目标发行版: 11解决方案
Error:java: 无效的目标发行版: 11解决方案
111 0
|
5月前
|
Java
6-17|java error
6-17|java error
|
6月前
|
Java Maven C++
【Azure Developer】记录一次使用Java Azure Key Vault Secret示例代码生成的Jar包,单独运行出现 no main manifest attribute, in target/demo-1.0-SNAPSHOT.jar 错误消息
【Azure Developer】记录一次使用Java Azure Key Vault Secret示例代码生成的Jar包,单独运行出现 no main manifest attribute, in target/demo-1.0-SNAPSHOT.jar 错误消息
107 0

热门文章

最新文章