找回密码
 注册账号

QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

初学者课程:T3自学|T6自学|U8自学软件下载课件下载工具下载资料:通资料|U8资料|NC|培训|年结积分规则 | 使用常见问题Q&A
知识库:U8 | | NC | U9 | OA | 政务U8|U9|NCC|NC65|NC65客开|NCC客开新手必读 | 任务 | 快速增金币用友QQ群[微信群]
查看: 8122|回复: 4

[学习] 关于业务插件注册找不到类的问题处理

[复制链接]
发表于 2020-11-26 14:24:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册账号

×
为扩展参照采购发票,生成付款申请,实现了1个插件类。
nc.impl.pu.m25.payable.PuInvoceSrcQueryForApply
放置到了pu模块的private 下。
实现了接口:
nc.pubitf.cmp.apply.IMultiBillSrcQueryForApply
nc.impl.pubapp.plugin.IPlugin

脚本插入了插件定义:
insert into pub_bsplugins (CLASSNAME, CODE, CREATETIME, CREATOR, DR, ENABLED, INDUSTRYTYPE, IORDER, LOCALTYPE, NAME, NAME2, NAME3, NAME4, NAME5, NAME6, NOTE, PK_EXPOINT, PK_MODULE, PK_PLUGIN, POS, SINGLETON, SYNC, TRANS, TS)
values ('nc.impl.pu.m25.payable.PuInvoceSrcQueryForApply', 'puinvoicecmpapply', '2020-11-02 13:33:01', '~                   ', 0, 'Y', '~', 9, '~', '采购发票生成付款申请', null, null, null, null, null, null, '1001Z610000000007HAT', '4004', '1002ZP1000000010I0Y3', '-1', 'N', 'Y', 'Y', '2020-11-02 13:33:02');



本地开发环境调试,没有问题,能正常跑。

但部署到测试环境  nchome下,则提示错误。
经查:异常:nc.vo.pubapp.pattern.exception.CarrierRuntimeException: nc.impl.pu.m25.payable.PuInvoceSrcQueryForApply
实际原因是:Caused by: java.lang.ClassNotFoundException: nc.impl.pu.m25.payable.PuInvoceSrcQueryForApply at java.lang.Class.forNameImpl(Native Method) at java.lang.Class.forName(Class.java:270) at nc.impl.pubapp.plugin.PluginManager.getPluginInstance(PluginManager.java:99)

 楼主| 发表于 2020-11-26 14:25:28 | 显示全部楼层
解决办法:nc.impl.pubapp.plugin.PluginManager  只能取public下的类。故将类移动到public下,即可。
回复 点赞 拍砖

使用道具 举报

发表于 2020-12-4 17:26:03 | 显示全部楼层
这是开发的基础知识,需要分清楚public、private及client下分别放什么,而且尽量命名规范。

点评

你有没有基础知识的文档。public、private及client 很清楚。但我的实现类要放到public 就有点怪了。主要是我开始不知道为什么 获取插件类,只取public下的。  详情 回复 发表于 2020-12-16 08:52
回复 点赞 拍砖

使用道具 举报

 楼主| 发表于 2020-12-16 08:52:59 | 显示全部楼层
dtlovefy 发表于 2020-12-4 17:26
这是开发的基础知识,需要分清楚public、private及client下分别放什么,而且尽量命名规范。 ...

你有没有基础知识的文档。public、private及client  很清楚。但我的实现类要放到public  就有点怪了。主要是我开始不知道为什么  获取插件类,只取public下的。
回复 点赞 拍砖

使用道具 举报

 楼主| 发表于 2020-12-16 12:38:19 | 显示全部楼层
List<INCFlwMsgProvide> providers = PluginManager.newIns().getExtInstances("NCFLW_PROVIDE", INCFlwMsgProvide.class);
回复 点赞 拍砖

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|站长微信|Archiver|手机版|小黑屋|用友之家 ( 蜀ICP备07505338号|51072502110008 )

GMT+8, 2024-11-20 17:34 , Processed in 0.053539 second(s), 9 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表