JBoss EAP 7.4迁移时WSProviderConfig类找不到问题求助
解决JBoss EAP 7.4迁移中
org.apache.wss4j.common.crypto.WSProviderConfig类找不到的问题 核心原因
JBoss EAP 7.4与7.1的WSS4J版本、模块结构存在差异,直接复制旧服务器的modules目录会导致模块版本冲突或依赖路径不匹配,进而引发类加载失败。
具体解决步骤
- 清理冲突模块:删除从7.1复制过来的
modules/system/layers/base/org/apache/wss4j相关目录,改用EAP 7.4原生的WSS4J模块。直接覆盖系统自带模块会破坏版本兼容性。 - 修正应用依赖配置:
- 检查应用的
META-INF/jboss-deployment-structure.xml,确保依赖的是EAP 7.4对应的WSS4J模块。例如,将旧的依赖声明:
替换为7.4中拆分后的细分模块(按需添加):<module name="org.apache.wss4j"/><module name="org.apache.wss4j.common"/> <module name="org.apache.wss4j.ws-security"/> - 若应用通过
MANIFEST.MF声明依赖,更新Dependencies条目为对应的模块名称。
- 检查应用的
- 全局模块配置(可选):如果多个应用都需要该模块,可在
standalone.xml或domain.xml的subsystem="ee"下添加全局模块:<global-modules> <module name="org.apache.wss4j.common" slot="main"/> </global-modules> - 验证模块存在性:确认EAP 7.4的
modules/system/layers/base/org/apache/wss4j/common/main目录下包含wss4j-common-*.jar和正确的module.xml,若缺失可从官方补丁或对应版本的WSS4J包中补充(需匹配EAP 7.4的兼容版本)。 - 排查日志细节:查看服务器
standalone/log/server.log中完整的类加载栈信息,确认是否存在其他依赖缺失或模块加载优先级问题。
内容的提问来源于stack exchange,提问作者Mr. E
相关产品推荐
相关产品推荐

