代码之家  ›  专栏  ›  技术社区  ›  CHARAFI Saad

SAP HYBRIS[Y]:导入组织。无法解析zkoss

  •  1
  • CHARAFI Saad  · 技术社区  · 7 年前

    我正在HYBRIS的backoffice中创建一个小部件。

    生成扩展后 trainingbackoffice 我在 localxtension.xml 文件如下:

    <extensions>
    <path dir='${HYBRIS_BIN_DIR}' autoload='false' />
    <extension name='mcc' />
    <extension name='adaptivesearchsolr' />
    <extension name='adaptivesearchbackoffice' />
    <extension name='adaptivesearchsamplesaddon' />
    <extension name='commerceservicesbackoffice' />
    <extension name='solrfacetsearchbackoffice' />
    <extension name='solrserver' />
    <!-- <extension name='yacceleratorcockpits' /> -->
    <!-- <extension name='yacceleratorinitialdata' /> -->
    <!-- <extension name='yacceleratorstorefront' /> -->
    <extension name='ycommercewebservices' />
    <extension name='ycommercewebservicestest' />
    <extension name='electronicsstore' />
    <extension name='apparelstore' />
    <extension name='captchaaddon' />
    <extension name='liveeditaddon' />
    <extension name='acceleratorwebservicesaddon' />
    <extension name='commerceorgsamplesaddon' />
    <extension name='orderselfserviceaddon' />
    <extension name='rulebuilderbackoffice' />
    <extension name='couponbackoffice' />
    <extension name='droolsruleengineservices' />
    <extension name='couponfacades' />
    <extension name='promotionenginesamplesaddon' />
    <extension name='assistedservicestorefront' />
    <extension name='assistedserviceyprofileaddon' />
    <extension name='assistedservicecustomerinterestsaddon' />
    <extension name='assistedservicepromotionaddon' />
    <extension name='customerticketingaddon' />
    <extension name='customersupportbackoffice' />
    <extension name='eventtrackingwsaddon' />
    <extension name='hybrisanalyticsaddon' />
    <extension name='yprofileeventtrackingws' />
    <extension name='yprofileeventadapter' />
    <extension name='yprofileprocessadapter' />
    <extension name='privacyoverlayeraddon' />
    <extension name='yaasconfigurationbackoffice' />
    <extension name='textfieldconfiguratortemplatebackoffice' />
    <extension name='textfieldconfiguratortemplateaddon' />
    <extension name='cmswebservices' />
    <extension name='smarteditwebservices' />
    <extension name='cmssmarteditwebservices' />
    <extension name='permissionswebservices' />
    <extension name='smarteditaddon' />
    <extension name='cmssmartedit' />
    <extension name='consignmenttrackingaddon' />
    <extension name='consignmenttrackingmockaddon' />
    <extension name='consignmenttrackingbackoffice' />
    <extension name='notificationaddon' />
    <extension name='customerinterestsaddon' />
    <extension name='stocknotificationaddon' />
    <extension name='configurablebundleaddon' />
    <extension name='previewpersonalizationweb' />
    <extension name='personalizationcmsweb' />
    <extension name='personalizationsmartedit' />
    <extension name='personalizationsampledataaddon' />
    <extension name='personalizationyprofile' />
    <extension name='personalizationpromotions' />
    <extension name='personalizationpromotionsweb' />
    <extension name='personalizationservicesbackoffice' />
    <extension name='personalizationpromotionsbackoffice' />
    <extension name='personalizationcmsbackoffice' />
    <extension name='personalizationintegrationbackoffice' />
    <extension name='assistedserviceatddtests' />
    <extension name='promotionengineatddtests' />
    <extension name='textfieldconfiguratortemplateatddtests' />
    <extension name='configurablebundleatddtests' />
    <extension name='configurablebundlecockpits' />
    <extension name='pcmbackofficesamplesaddon' />
    
    
    <extension name='mcc' />
    <extension name="hmc" />
    
    
    <extension name='trainingcockpits'/>
    <extension name='trainingcore'/>
    <extension name='trainingfacades'/>
    <extension name='trainingfulfilmentprocess'/>
    <extension name='traininginitialdata'/>
    <extension name='trainingstorefront'/>
    <extension name='trainingtest'/>
    
    <extension name='trainingbackoffice'/>
    
    </extensions>
    

    我为小部件创建了一个控制器,如下所示:

     package org.training.widgets.mysearch;
    
     import java.util.List;
    
     import org.training.service.SearchService;
     import org.zkoss.zk.ui.event.Events;
     import org.zkoss.zk.ui.select.annotation.WireVariable;
     import org.zkoss.zul.Messagebox;
     import org.zkoss.zul.Textbox;
    
     import com.hybris.cockpitng.annotations.ViewEvent;
     import com.hybris.cockpitng.util.DefaultWidgetController;
    
    
    
     /* @author scharafi
     *
     */
     public class MySearchController extends DefaultWidgetController
     {
    private Textbox searchInput;
    @WireVariable
    private SearchService searchService;
    
    @ViewEvent(componentID = "searchBtn", eventName = Events.ON_CLICK)
    public void doSearch() throws InterruptedException
    {
        final List<String> result = searchService.search(searchInput.getText());
        Messagebox.show(result.get(0));
    }
    
    public Textbox getSearchInput()
    {
        return searchInput;
    }
    
    public void setSearchInput(final Textbox searchInput)
    {
        this.searchInput = searchInput;
    }
    
    public SearchService getSearchService()
    {
        return searchService;
    }
    
    public void setSearchService(final SearchService searchService)
    {
        this.searchService = searchService;
    }
    }
    

    我在定义中添加了控制器。xml如下所示:

    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    
    <widget-definition id="org.training.widgets.mysearch" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.hybris.com/schema/cockpitng/widget-definition.xsd">
    
    <controller class="org.training.widgets.mysearch.MySearchController"/>
    
    
    <name>My Search</name>
    <description>My own search widget.</description>
    <defaultTitle>Search</defaultTitle>
    <author>CHARAFI Saad</author>
    <version>0.1</version>
    
    </widget-definition>
    

    运行命令ant clean后,所有构建都不会通过。

    控制台中会出现以下错误:

    [yjavac] 1. ERROR in C:\hybris\hybris\bin\custom\trainingbackoffice\src\org\training\widgets\mysearch\MySearchController.java (at line 6)
       [yjavac]     import org.zkoss.zk.ui.event.Events;
       [yjavac]            ^^^^^^^^^
       [yjavac]     The import org.zkoss cannot be resolved
    

    该错误应用于zul的所有导入

    更新时间:

    这里是 extensioninfo.xml

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <extensioninfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="extensioninfo.xsd">
    
    <extension abstractclassprefix="Generated" classprefix="Trainingbackoffice" managername="TrainingbackofficeManager" managersuperclass="de.hybris.platform.jalo.extension.Extension" name="trainingbackoffice" usemaven="false">
    
        <!-- you should add all required extensions to this list, except platform extensions which are automatically required -->
        <!-- <requires-extension name="cms"/> -->
    
        <requires-extension name="backoffice"/>
    
    
        <coremodule generated="true" manager="org.training.jalo.TrainingbackofficeManager" packageroot="org.training"/>
    
        <meta key="backoffice-module" value="true"/>
    
    </extension>
    

    3 回复  |  直到 7 年前
        1
  •  5
  •   agabrys    7 年前

    类是在全局上下文中定义的,但ZK框架仅在后台上下文中可用。

    扩展结构:

    • src 全局上下文(所有扩展都可以使用它)
    • backoffice/src backoffice上下文(只有backoffice扩展可以使用它)

    将依赖于ZK框架的类从 src公司 后台/src


    为什么ZK框架仅在backoffice环境中可用?Backoffice是一个web应用程序,可以使用位于 lib web/webroot/WEB-INF/lib 目录。ZK类位于 web/webroot/web-INF/lib 目录后台扩展( 后台/src )是在web上下文中加载的,这就是为什么它们可以使用ZK框架的原因。中定义的类 src公司 只能使用位于 lib公司 目录,因此ZK类不可用。

        2
  •  2
  •   Free-Minded    7 年前

    如何创建自定义backoffice扩展。你用过吗 ybackoffice 样板

    这个问题似乎与依赖性问题有关。请验证您的extensioninfo。xml文件。您应该对backoffice扩展具有依赖性。

    扩展信息。xml。。。

    <requires-extension name="backoffice"/>
    
        3
  •  0
  •   Mugdha Tripathi    4 年前

    如果zkoss库存在,并且在构建过程中没有被错误删除,您可以检查设置。有时这会造成导入问题。如果这是问题所在,您需要在安装日志中添加所有缺失的库,这样您就可以继续。希望这能解决你的问题!

    推荐文章