切换OpenJDK引发的惨案

点赞再看,养成习惯,大家好,我是辰兮!今天介绍切换OpenJDK引发的惨案。

文章目录

目录

文章目录

前言

一、介绍

二、解决方案

总结


前言

公司运维通知需要将JDK切换为OpenJDK,做技术选型,在切换过程中,日志报错:Cause: java.lang.ClassNotFoundException: Cannot find class: javafx.util.Pair

一、介绍

  • JDK是由Oracle开发的全面的Java开发工具包,包含了Java语言编译器、Java虚拟机、Java类库、调试工具等各种组件,它为Java开发者提供了全面的支持和便利。JDK还包含了许多可用于开发Java应用程序的工具和实用程序。由于JDK是由Oracle开发和维护的,所以它是商业软件,需要支付使用费用。
  • OpenJDK是Oracle JDK的一个开源实现版本。它是自由软件并且完全免费。OpenJDK包含了Java SE(Standard Edition)的所有功能,因此它是一个完整的Java开发环境。OpenJDK由GNU通用公共许可证(GPL)授权,因此用户可以自由地使用、复制、分发和修改它。

二、解决方案

openjdk只包含最精简的jdk,它里面不包含javafx,因此缺少Pair,但在部分开发时间较早的项目中,仍会使用Pair

所以使用hutool里的Pair.

复制代码
<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>5.8.12</version>
</dependency>

使用后发现,项目不再报错,正常运行,方案有效!

总结

JDK和OpenJDK都是非常优秀的Java开发工具包。JDK中的所有组件都是由Oracle开发和维护的,因此JDK提供了许多商用特性和性能优化选项。而OpenJDK则是免费开源的,并且由Java社区进行支持和维护,因此对于开发者来说使用它不仅是一种经济实惠的选择,还可以获得更多的自由和可定制性。

相关推荐
Lhappy嘻嘻5 小时前
Java IO|File 文件操作 + 字节流 / 字符流完整笔记 + 递归删除文件实战
java·笔记·php
伊玛目的门徒5 小时前
试用leetcode之典中典 二数之和问题
java·算法·leetcode
懒鸟一枚8 小时前
深入理解 Linux 内存、Swap 交换分区与分页机制的关系
java·linux·数据库
我命由我1234510 小时前
执行 Gradle 指令报错,无法将“grep”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
考虑考虑10 小时前
Sentinel安装
java·后端·微服务
凤凰院凶涛QAQ11 小时前
《Java版数据结构 & 集合类剖析》栈与队列:“push/pop 是栈的灵魂,offer/poll 是队列的骨架——四组 API,两种人生”
java·开发语言·数据结构
掘金_答案12 小时前
上线那天,一个 ConcurrentHashMap 差点送走我的 AI 客服——3 天排查 JVM 血泪史
java·后端·架构
猿与禅13 小时前
CosId 分布式 ID 生成器完全教程:从架构原理到生产落地
java·shardingsphere·雪花算法·分布式id·高性能·cosid·号段模式
MindUp13 小时前
企业网盘权限模型解析:多层级访问控制与审计能力选型指南
java·linux·运维
NG47713 小时前
【软件设计与体系结构】-策略设计模式
java·设计模式·软件工程