首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SAP [Y]:进口org.zkoss无法解决

SAP [Y]:进口org.zkoss无法解决
EN

Stack Overflow用户
提问于 2018-04-08 13:11:48
回答 3查看 2.1K关注 0票数 1

我正在后台创建一个关于傲慢的小部件。

在生成扩展名trainingbackoffice之后,我将其添加到localxtension.xml文件中,如下所示:

代码语言:javascript
复制
<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>

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

代码语言:javascript
复制
 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;
}
}

我在definitions.xml中添加了控制器如下:

代码语言:javascript
复制
<?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后,所有构建都不会通过。

控制台中出现的错误如下:

代码语言:javascript
复制
[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

代码语言:javascript
复制
<?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>

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-04-08 20:56:29

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

扩展结构:

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

将依赖于ZK的类从src移动到backoffice/src

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

票数 5
EN

Stack Overflow用户

发布于 2018-04-08 17:03:40

如何创建自定义后台扩展。你用过ybackoffice模板吗?

这个问题似乎与依赖性问题有关。请验证您的extensioninfo.xml文件。您应该有后台扩展的依赖关系。

extensioninfo.xml ...

代码语言:javascript
复制
<requires-extension name="backoffice"/>
票数 2
EN

Stack Overflow用户

发布于 2020-06-06 16:17:05

如果存在zkoss库,并且在构建过程中没有错误删除,您可以签入安装程序。有时,这会给导入带来问题。如果这是问题,您需要添加所有丢失的库在您的设置帖子,您将能够proceed.Hope,这解决了您的问题!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49718210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档