苍穹6.0MC热部署jar包功能可能引起的LinkageError报错,以及代码更新问题原创
金蝶云社区-Nanoar
Nanoar
0人赞赏了该文章 10次浏览 未经作者许可,禁止转载编辑于2024年11月20日 17:24:05

报错类型会是非常罕见的java.lang.LinkageError

其中会提示:the class loader (instance of kd/bos/upgrade/ExtClassLoader) 

目前来看这个是新功能加载器导致的bug,表现是你就算已经把冲突的重复jar包删除了,重启微服务无效。

这个功能还会导致直接替换应用仓库zip包之后,重启微服务代码不生效。

解决办法:将元数据库分库(租户数据中心配置右下角单独配置的元数据库)中的表T_META_EXT_JAR直接清空,或者删除FNUMBER={jar包完整名字},比如slf4j-api-1.7.25.jar


原因是这个表里存在的Jar包名字,苍穹会优先通过kd.bos.upgrade.ExtClassLoader这个加载器将FJAR里的数据载入JVM,这样如果表中存在与其他lib,比如trdlib冲突的jar包,你直接删除应用仓库冲突jar包重启问题依然存在,因为苍穹依然会在这里找到jar包的缓存,载入jvm

图标赞 0
0人点赞
还没有人点赞,快来当第一个点赞的人吧!
图标打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!