2017-09-14 89 views
3

我的内容存储库在2年的时间内累积了许多过时的组件资源。组件节点缺少吊索:resourceType属性。这些组件节点看起来是这样的:AEM资源缺少吊索:resourceType

missing sling:resourceType

由于这种坏的资源,页面抛出异常如下:

14.09.2017 12:33:21.079 *ERROR* [172.21.142.98 [1505392399461] GET /content/xx/en_ca/home.html HTTP/1.1] 
org.apache.sling.servlets.get.impl.DefaultGetServlet No renderer for extension html, cannot render resource Paragraph, 
path=/content/xx/en_ca/home/jcr:content/par-sidebar/contentbox_c540/rightRailContentPar/contentbox_f1fd, 
type=nt:unstructured, cssClass=default, column=0/0, diffInfo=[null], 
resource=[JcrNodeResource, type=nt:unstructured, superType=null, 
path=/content/xx/en_ca/home/jcr:content/par-sidebar/contentbox_c540/rightRailContentPar/contentbox_f1fd] 

进一步深挖我发现有人写了一tool to cleanup这种过时的资源。

虽然很容易查询和清理这些无效的节点,但我的问题是如何在资源库中结束这些资源的?我试图通过移动组件来模拟,从页面中删除组件,但徒劳无功。没有自定义脚本正在删除吊索:resourceType。这个问题只能由我面对吗?或者是否有任何产品问题/用例可以清除资源类型?

我正在运行AEM 6.0 SP2。

+1

我在多个项目中面临同样的问题,所以我对这些问题的原因也很感兴趣。调试很困难,因为它们来源不明。 – d33t

回答

0

似乎这是一个已知的产品缺陷,需要在未来的AEM中修复。这是我从托儿票上得到的回复:

有几个已知问题与Aling 6.0 SP2及更高版本中的sling有关:resourceType,但我能找到离您提及的方案最近的一个问题发生在复制组件时并粘贴。

它删除/中断sling:resourceType属性。此问题在内部编号-CQ-4212306下进行了介绍,该问题将作为AEM未来版本的一部分。