切换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社区进行支持和维护,因此对于开发者来说使用它不仅是一种经济实惠的选择,还可以获得更多的自由和可定制性。

相关推荐
古法老登瞎折腾2 小时前
大数据智能运维实战(十一):运维 MCP 的工程化——权限、限流、审计与错误处理
java·大数据·运维·spring ai·mcp
智能运维指南3 小时前
研制过程“两张皮“怎么破:研制一体化支撑平台的定位、能力边界与落地前提
java·前端·人工智能·嘉为蓝鲸
yz_aiks4 小时前
Spring AI 2.1 ChatMemory 已过时用什么替代:迁移到 Session Memory 实战(JDBC 存储与会话压缩)
java·spring boot·大模型·ai agent·spring ai
金銀銅鐵4 小时前
[Java] 用 GUI 展示 EnumMap 增删键值对时的内部变化
java·后端·ai编程
学长毕设4 小时前
基于SpringBoot的上门洗车服务系统设计与实现
java·spring boot·后端
jason成都4 小时前
RTKLIB-Java 多基线联合RTK:FIX率从0%到91.5%的三层根因修复
java·gnss·rtklib·rtklib_java
鱼宵5 小时前
Stream 终端操作一次讲透:collect、count、reduce 怎么选
java·stream·终端操作
白山编程大哥5 小时前
Java 后端如何优雅地把 List 集合返回给前端
java·前端·list
Linux运维技术栈5 小时前
CVE-2026-91403 高危漏洞修复:Rocky Linux 9 多版本 JDK 环境清理实操
java·linux·运维
On The Road :5 小时前
Java 多线程详解:从入门到线程安全
java·python·安全