安装Java和IDEA时遇到的问题

本文探讨了如何解决IntelliJ IDEA 2020.1.1与最新JDK18不兼容的问题,涉及模块化JDK的变化和IDEA版本限制。作者分享了更换旧版本JDK、调整环境变量以及处理java.dll缺失的步骤。
摘要由CSDN通过智能技术生成

原本我的电脑是JDK13和IDEA2020.1.1,两者正好可以兼容,但是学习需要,卸载后安装了最新的JDK18,然后就开始问题不断了。

IDEA 2020.1.1和最新的JDK 18不兼容:Error:Cannot determine path to ‘tools.jar’

问题分析

  1. java版本问题:

    JDK 9的核心变化就是引入了一种新的Java编程组件,也就是模块,按照Oracle的说法,它是一个可命名的、自描述的代码和数据集合。模块技术的核心目标是减少Java应用和Java核心运行时环境的大小与复杂性。为此,JDK本身进行了模块化,Oracle希望通过这种方式提升性能、安全性和可维护性。

    为了支持Java 9的模块,引入一种新的模块化JAR文件形式,按照这种形式会在其根目录中包含一个module-info.class文件。Oracle同时提供了工具,允许我们组合和优化一组模块,形成自定义的运行时镜像(image),这样的镜像不必将整个Java运行时包含进来。模块化所带来的其他变化包括从Java运行时镜像中移除了dt.jar和tools.jar。所以IDE当然找不到tools.jar

    也就是说装jdk-9.0.4或以上版本时,已经移除了dt.jar和tools.jar。配置环境变量时不再需要配置classpath变量。

  2. IDEA与版本不匹配问题

在下图所示可查看目前IDE所支持的java版本号,因为我用的20201.1版的IDEA,JDK17是2021才推出的,所以该版本IDE不支持JDK17的版本,所以运行不了

解决方案

  1. 换新版本的IntelliJ IDEA

  2. 更换低版本的JDK(推荐JDK8)

我采用了第二种方法,由于我之前下载了一个JDK10,所以直接就用了,然后问题就又来了。

Error: could not find java.dll Error: Could not find Java SE Runtime

卸载Java环境时我删除了环境变量,之后按照教程重新配置环境变量后,在cmd里测试java时遇到了如上的问题。

问题分析和解决办法

在PATH变量里我发现了如图所示的几个java的环境。path变量最上面多出来一个C:\Program Files(x86)\Common Files\Oracle…的变量,这个变量的路径中有一个java.exe,在执行命令行的java命令时,默认先执行这个java而不是我们自己添加的%Java_Home%\bin等等,所以我们需要把这个自己添加的变量放到这个Oracle变量的前面。

        ​​​

 

 

 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值