给定扩展名缺少扩展名信息

2020-09-24 06:39发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好 我们从 sap_aom...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好 我们从 sap_aom_som_b2b_b2c 配方中安装漂亮的香草Hybris 6.5.0.2时遇到了一个奇怪的问题。

我们仅添加了CPQ扩展名(没有自定义扩展名,因为我们看到了其他一些具有相同问题的线程,但有自定义插件扩展名。)

  <!-产品的CPQ->
  
  
  
  
  
 
  <!-解决方案的CPQ->
  
  
  
  
  

  

我们有很多例外情况

给定扩展名缺少扩展名信息

指的是标准组件,例如 ProductReferencesComponentModel 和操作 AddToCartActionModel

  WARN [hybrisHTTP3] [10.10.10.1] [DefaultCMSComponentRendererRegistry]处理组件标签时出错。  currentComponent [ProductReferencesComponentModel(8796098823228 @ 1)]异常:缺少给定扩展名的扩展信息
  2017年11月20日11:40:51 PM org.apache.catalina.core.ApplicationDispatcher调用
  严重:Servlet DispatcherServlet的Servlet.service()引发异常
  java.lang.NullPointerException:缺少给定扩展名的扩展信息
          在com.google.common.base.Preconditions.checkNotNull(Preconditions.java:787)
          在de.hybris.platform.yb2bacceleratorstorefront.filters.AcceleratorAddOnFilter $ DefaultExtensionAccessor.getInfo(AcceleratorAddOnFilter.java:337)处
          在de.hybris.platform.yb2bacceleratorstorefront.filters.AcceleratorAddOnFilter $ DefaultExtensionAccessor.getExtensionDir(AcceleratorAddOnFilter.java:331)处
          在de.hybris.platform.yb2bacceleratorstorefront.filters.AcceleratorAddOnFilter $ ResourceAddOnResolver.getExtensionPath(AcceleratorAddOnFilter.java:142)处
          在de.hybris.platform.yb2bacceleratorstorefront.filters.AcceleratorAddOnFilter $ ExecutableResourceAddOnResolver.getAddOnFullPathName(AcceleratorAddOnFilter.java:196)处
          在de.hybris.platform.yb2bacceleratorstorefront.filters.AcceleratorAddOnFilter.doFilter(AcceleratorAddOnFilter.java:81)
          在org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
          在org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
          在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
          在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
          在org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:743)
          在org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:603)
          在org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:542)
          在org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:905)
          在org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:656)
          在de.hybris.platform.acceleratorcms.component.renderer.impl.GenericViewCMSComponentRenderer.renderView(GenericViewCMSComponentRenderer.java:101)处
          在de.hybris.platform.acceleratorcms.component.renderer.impl.CachingCMSComponentRenderer.renderView(CachingCMSComponentRenderer.java:91)处
          在de.hybris.platform.acceleratorcms.component.renderer.impl.GenericViewCMSComponentRenderer.renderComponent(GenericViewCMSComponentRenderer.java:85)处
          在de.hybris.platform.acceleratorcms.component.renderer.impl.DefaultCMSComponentRendererRegistry.renderComponent(DefaultCMSComponentRendererRegistry.java:80)处
          在de.hybris.platform.acceleratorcms.component.slot.impl.DefaultCMSPageSlotComponentService.renderComponent(DefaultCMSPageSlotComponentService.java:334)处
          在de.hybris.platform.acceleratorcms.tags2.CMSComponentTag.renderItem(CMSComponentTag.java:298)
          在de.hybris.platform.acceleratorcms.tags2.CMSComponentTag.doStartTag(CMSComponentTag.java:254)
          在org.apache.jsp.WEB_002dINF.views.addons.b2bacceleratoraddon.sensitive.pages.product.productLayout2Page_jsp._jspx_meth_cms_005fcomponent_005f3(productLayout2Page_jsp.java:474)
          在org.apache.jsp.WEB_002dINF.views.addons.b2bacceleratoraddon.sensitive.pages.product.productLayout2Page_jsp._jspx_meth_cms_005fpageSlot_005f3(productLayout2Page_jsp.java:437)
          在org.apache.jsp.WEB_002dINF.views.addons.b2bacceleratoraddon.sensitive.pages.product.productLayout2Page_jsp.access $ 4(productLayout2Page_jsp.java:413)
          在org.apache.jsp.WEB_002dINF.views.addons.b2bacceleratoraddon.sensitive.pages.product.productLayout2Page_jsp $ Helper.invoke0(productLayout2Page_jsp.java:598)
          在org.apache.jsp.WEB_002dINF.views.addons.b2bacceleratoraddon.sensitive.pages.product.productLayout2Page_jsp $ Helper.invoke(productLayout2Page_jsp.java:620)
          在org.apache.jsp.tag.web.sensitive.template.page_tag $ Helper.invoke2(page_tag.java:451)
          在org.apache.jsp.tag.web.sensitive.template.page_tag $ Helper.invoke(page_tag.java:483)
          在org.apache.jsp.tag.web.sensitive.template.master_tag.doTag(master_tag.java:236)
          在org.apache.jsp.tag.web.sensitive.template.page_tag._jspx_meth_template_005fmaster_005f0(page_tag.java:240)
          在org.apache.jsp.tag.web.sensitive.template.page_tag.doTag(page_tag.java:173)
          在org.apache.jsp.WEB_002dINF.views.addons.b2bacceleratoraddon.sensitive.pages.product.productLayout2Page_jsp._jspx_meth_template_005fpage_005f0(productLayout2Page_jsp.java:170)
          在org.apache.jsp.WEB_002dINF.views.addons.b2bacceleratoraddon.sensitive.pages.product.productLayout2Page_jsp._jspService(productLayout2Page_jsp.java:137)
          在org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)


  

已尝试使用 ant初始化和double-HAC更新。 由于上述问题,整个页面无法呈现,这破坏了大多数可用的CMS组件。

对此有任何想法吗?

谢谢 尼古拉

替代文本

(220.9 kB)
15条回答
ZJXianG
2020-09-24 07:26

大家好,

我只想添加一个"虚拟指南",以解决像我这样的非技术人员遇到的问题。

首先,CPQ是一个红人-这个问题与某些标准B2B Gradles有关(根据我的有限测试),我已经在b2b_acc,b2b_acc_plus上看到了此问题,并且已经在6.5.02上成功进行了修复,并且 6.5.0.3。

问题:

安装后,您将加载B2B/Powertools店面并开始四处点击; 首先在PDP上,请注意您缺少"添加到购物车","描述/交付/评论"选项卡,页眉,页脚等(这是我的测试范围)。

在控制台中,您将看到以下错误重复出现:

  WARN [hybrisHTTP30] [DefaultCMSComponentRendererRegistry]处理组件标签时出错。  currentComponent [SimpleBannerComponentModel(8796098266172 @ 2)]异常:缺少给定扩展名的扩展信息
  2017年11月27日2:25:21 PM org.apache.catalina.core.ApplicationDispatcher调用
  严重:Servlet DispatcherServlet的Servlet.service()抛出异常java.lang.NullPointerException:给定扩展名的扩展信息丢失
  ....
  ....

  

逐步说明如何修复此问题:

  1. 关闭您的hybrisserver

  2. 在Finder/浏览器中,打开以下目录:{hybris_dir}/bin/custom/yb2bacceleratorstorefront/web/src/de/hybris/platform/yb2bacceleratorstorefront/web/view/

  3. 查找和编辑:UiExperienceViewResolver.java

  4. 进行以下更改:

[行126:]返回getAddOnPrefix()+"/" + extensionName +"/" +前缀+ properViewName; //..///cms/

替换为:

[Row 126:]//返回getAddOnPrefix()+"/" + extensionName +"/" +前缀+ properViewName; //..///cms/ [行127:]返回StringUtils.remove(getAddOnPrefix(),"/")+"/" + extensionName +"/" + StringUtils.remove(前缀,"/")+ properViewName; //..///cms/

(我喜欢用"//"注释掉第126行,如果愿意,可以删除该行。我在第127行中添加了新行)

上面"可接受的答案"中缺少的步骤是声明" StringUtils",这就是为什么它对我而言第一次无效。

  1. 在同一文件(UiExperienceViewResolver.java)中,将以下内容粘贴到第26行:

    import org.apache.commons.lang3.StringUtils;

  2. 将所做的更改保存到UiExperienceViewResolver.java,然后打开"终端(Mac)"或"命令提示符(PC)"。

  3. 导航至 {hybris DIR}/bin/platform

  4. 运行:。 ./setantenv.sh(或setantenv.bat)

  5. 运行: ant all

  6. 运行: ./hybrisserver.sh(或hybrisserver.bat)

问题现已解决。

关于,阿伦

积分: 有关上面的修复详细信息,请使用&@Paul.Podgorsek解释如何声明新的类。

一周热门 更多>