ModelSavingExceptionTranslationHandler类属于哪个Hybris扩展?
ModelSavingExceptionTranslationHandler 类归属及无法解析问题排查
de.hybris.platform.platformbackoffice.services.handlers.ModelSavingExceptionTranslationHandler 确实归属 platformbackoffice 扩展,已配置该扩展仍出现类无法解析的问题,按以下步骤排查即可解决:
- 检查自定义扩展的
extensioninfo.xml配置- 确认依赖配置拼写完全正确:
注意名称全小写,不要出现拼写错误、多余字符。<requires-extension name="platformbackoffice"/> - 确认当前扩展声明为backoffice模块:如果你编写自定义实现类的扩展是自定义backoffice扩展,必须在extensioninfo.xml中加入如下元配置,缺少该配置时构建系统不会将backoffice专属扩展的JAR加入当前扩展的编译类路径:
<meta key="backoffice-module" value="true"/>
- 确认依赖配置拼写完全正确:
- 重新构建项目并更新IDE配置
改完extensioninfo.xml不要等IDE自动索引,直接到Hybris根目录执行命令完成全量构建:
构建完成后根据你使用的IDE执行对应命令生成项目配置:ant clean all- Eclipse用户执行:
ant eclipse - IntelliJ IDEA用户执行:
ant idea
命令执行完成后在IDE中刷新全项目,等待索引重建完成即可正常识别该类。
- Eclipse用户执行:
- 注意分层限制
不要在非backoffice层的扩展(比如核心业务扩展、facade层扩展、accelerator门店前端扩展)中引用该类,这类扩展的编译类路径默认不会加载backoffice相关依赖,自定义的ModelSavingExceptionTranslationHandler实现必须放在自定义backoffice扩展的源码目录下。
类编写完成后,需要在自定义扩展的backoffice-spring.xml中覆盖默认bean定义,你的自定义实现才会生效,配置示例:
<bean id="modelSavingExceptionTranslationHandler" class="你的自定义类全限定名"/>
内容的提问来源于stack exchange,提问作者user1369975
相关产品推荐
相关产品推荐

