
项目一直用 jdk8 ,一下子就得升级到 17 ,启动就报找不到 rt.jar 的错误
“java: 程序包 sun.reflect.generics.reflectiveObjects 不存在”
咋解决这个 jar 包问题??
接着就是 springboot 版本问题
还有其它坑需要注意的吗
1 xiaoluxiaolu 2022-08-12 18:37:33 +08:00 |
2 JerryX 2022-08-12 20:24:13 +08:00 可以改 openjdk ,去清华的镜像站去下载,然后建一个 java 文件夹,所有版本的 jdk 都放进去,挑一个常用的加到环境变量,其余的就是 IDE 需要哪个就配哪个 |
3 liaohongxing 2022-08-12 20:33:24 +08:00 技术债。隔了几代升级想没有问题有点难。 |
4 geekvcn 2022-08-12 20:46:55 +08:00 via iPhone JAVA 项目经验,不要给老项目升级 JDK ,新项目再升级 JDK ,老项目升级 JDK 建议重构 |
5 seagrass 2022-08-12 21:25:44 +08:00 |
6 Slurp 2022-08-12 21:49:19 +08:00 建议了解一下 JDK 9 引入的模块化,Java 对访问 JDK 内部实现的限制越来越严格了,尽量避免反射 Java 内部类,以及使用 sun 开头的包。 要说还有什么坑,用了 finalize 的话,JDK 17 已经标记为 forRemoval 了… |
7 Bingchunmoli 2022-08-13 01:50:44 +08:00 via Android 如果没有 oracle 直接更新 jdk 即可,如果使用了 sun 包下的功能使用 oraclejdk 尝试,不行就找替代方法说明被删除了 |
8 ZhiyuanLin 2022-08-13 13:10:49 +08:00 先 11 ,修所有 error 和 depreciation 警告,然后再 17 ,重复一遍。 不要想一步到位。 |
9 night98 2022-08-14 02:05:54 +08:00 lombok 需要升级,否则过不了编译。 其他的都还行,主要注意下类似银行或者一些菜鸡三方的依赖,大概率会依赖 JDK8 某个过期的 class 比如 base64.class ,导致缺依赖压根没法编译,其他的一般来说不搞 hack 魔法不会出啥问题 |
10 ychost 2022-08-14 10:00:18 +08:00 建议重构,老项目就不要升级 |