WSO2微集成器API调用自定义类失败:类找不到问题排查
以下是导致该报错的常见原因:
JAR包未被正确加载
即使将JAR复制到<MI_HOME>/lib目录,WSO2 MI需要重启才能加载该目录下的新JAR文件。如果未重启服务,synapse-core的类加载器无法识别新增的类。同时要检查JAR包内是否真的包含com.test.mediator.ChangeValue类——可以用命令jar tf your-mediator.jar查看JAR内的文件结构,确认类文件路径与包名完全匹配,避免打包时遗漏类文件。类加载器隔离与OSGI配置问题
如果你的JAR是作为OSGI bundle打包的,需要在MANIFEST.MF中配置Export-Package: com.test.mediator,否则synapse-core这个OSGI bundle无法访问你的自定义类。若只是普通Java类库,确保不要将JAR放到repository/components/dropins等OSGI专属目录,<MI_HOME>/lib才是全局类库的正确位置。类名或包名拼写错误
检查序列配置中的类名com.test.mediator.ChangeValue与自定义类的包名、类名是否完全一致(Java对大小写敏感),比如是否误写为com.test.mediator.changeValue或其他拼写错误。JAR文件权限不足
在Linux/Unix系统下,若MI进程没有读取该JAR文件的权限,也会导致类加载失败。可以用chmod +r your-mediator.jar赋予读取权限,确保进程能访问文件。
内容的提问来源于stack exchange,提问作者Wajih Haider

