点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我正在尝试从我的加速器backoffice扩展扩展类BackofficeCockpitUserService。
问题在于该类位于backoffice扩展名的web文件夹内。 当我尝试扩展它并从我的后台扩展中的普通src文件夹中对其进行编译时,出现以下编译错误
1. C:\ Z \ BAT \ hybris \ bin \ custom \ bat \ batbackoffice \ src\ com \ sap \ cd \ bat \ user \ BatBackofficeCockpitUserService.java中的错误(在第3行)
导入com.hybris.backoffice.cockpitng.user.BackofficeCockpitUserService;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
导入com.hybris.backoffice.cockpitng无法解析在此处输入代码
将后台办公扩展名正确添加到我的后台办公扩展的extensioninfo.xml中的要求中:
< requires-extension name =" backoffice"/>
如何修复该类的编译,以便它可以找到我要扩展的BackofficeCockpitUserService类?
嗨,
基类位于后台Web Spring上下文中,无法从Spring核心上下文中访问。 您必须确保扩展名具有后台性质,即extensioninfo.xml文件中包含以下行:
然后将代码添加到 backoffice/src文件夹中(因此,在您的情况下为 batbackoffice/backoffice/src)。
关于,
马辛
我最终使用buildcallbacks.xml文件将已编译的.class复制到ext-backoffice/backoffice/web/webroot/WEB-INF/classes文件夹
嗨Miquel,
问题出在您混合了三种不同的Spring上下文:核心上下文,后台Web上下文和我们称为小部件上下文的事实。 核心上下文很容易扩展,因为扩展的
src/
文件夹中的所有内容均已存储。 后台Web上下文是从后台扩展的web/src/
文件夹(包含cockpitng库)创建的。 小部件上下文是从扩展程序的backoffice/src/
文件夹创建的。 窗口小部件上下文是后台Web上下文的子级,它是在首次向后台Web应用程序发出请求时创建的,因此在后台Web上下文已创建之后。由于每个Web应用程序都有其自己的Web上下文,并且不同的Web上下文彼此看不到,因此,如果要从后台Web上下文扩展一个类,则必须将代码放入扩展的窗口小部件上下文中。 如果将其放在核心上下文中,您将看不到要扩展的类(核心上下文是Web上下文的父级,因此它不知道它们)。 但是小部件上下文是在Web上下文已经启动并运行并且创建并注入了所有bean之后创建的。 不幸的是,我们目前不提供在后台Web上下文中覆盖Bean的任何便捷方法。 您将必须确定将bean注入到的所有位置,然后在小部件上下文配置中使用
PropertyBeanExtender
"重新注入"您的bean。关于,
马辛
嗨,
代码必须在 modulename/backoffice/src下。 我认为您是将您的文件放在不可见库的 modulename/src中。
干杯, Wojtek
一周热门 更多>