最近有1个项目升级到JDK17,里面用到了hbase-client(版本:以1.2.0-cdh5.7.1为基础,公司的大数据同学内部做了一些二次开发 ),启动时发现一直连不上集群,直接报错了,上hbase 官网看了下:
别说JDK 17了,连JDK11都支持不完善,难道把JDK版本又降回去?有点不甘心,又搜索了一些资料,找到了几篇文档:
https://issues.apache.org/jira/browse/HBASE-26046
https://issues.apache.org/jira/browse/HBASE-22972
https://toutiao.io/posts/e02mgpc/preview
发现有人在高版本JDK上运行成功了,按第1篇文档的做法,先尝试了下:
--add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/jdk.internal.misc=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED
加上这几个,当然因为我的项目里,还有一些其它功能,要打开的包不止这几个,最终是这样的:
--add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/sun.reflect.annotation=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/java.math=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/sun.util.calendar=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/jdk.internal.misc=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
居然跑起来了,呵呵
标签:java,JDK17,--,add,base,兼容性问题,Hbase,UNNAMED,opens From: https://www.cnblogs.com/yjmyzz/p/hbase_client_with_jdk17.html