二开插件常见异常:java.lang.ClassNotFoundException排查方法
1 问题描述
在日常开发,系统运行中,会碰到这样一种报错, java.lang.ClassNotFoundException,
这种报错是通常所说的类找不到的。下文将介绍如何排查以及解决方案。
2 原因分析
通过下面链接
http://ip:port/ierp/metadata/getClassUrl.do?className=类全路径名称
会有两种情况,如下图
通过这个请求,可以获取到目标类的类加载器,以及类在服务器存放的地址。
这是第一种情况,这个请求传回了值,说明类在服务器是存在,因为苍穹是支持分应用部署的,每个应用部署加载的jar包是根据启动参数 BIZLIBS,BOSLIBS,TRDLIBS,CUSLIBS 4个参数控制的,容器服务在启动时,会依次按照顺序去服务器的应用仓库(appstore)下载并解压到指定的目录中。
而这个问题在getClassUrl获取到值得情况下可能的原因是
分容器部署后,报错的容器节点下面几个启动参数没有配置上jar包打包的xml,或者zip名称。
解决方案是,在启动参数上补上即可。
第二种情况,如下图
通过这个请求,只得到空白信息页面。
有可能是原因是
1 jar包没有部署上去
在服务器上代码仓库以及容器目录mservice/lib检查是否存在jar包。
2 Java代码编译不通过
之前有过开发人员未仔细审查某个插件类,从而开发工具编译不通过,最后导出部署的jar包不含插件类的案例。
3 Java代码编译通过,但是代码中依赖的静态属性,代码块报错导致的没有加载到JVM中。
通常此类报错都会打印日志,可以在monitor/天梯日志根据类名当关键字搜索,并根据实际的报错来分析报错原因。
二开插件常见异常:java.lang.ClassNotFoundException排查方法
1 问题描述在日常开发,系统运行中,会碰到这样一种报错, java.lang.ClassNotFoundException,这种报错是通常所说的类找不到的。下文将介...
点击下载文档
本文2024-09-23 00:17:22发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-138517.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章