AEM 资源缺少吊索 :resourceType

标签 aem sling

我的内容存储库在 2 年的时间里积累了许多过时的组件资源。组件节点缺少 sling: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如此陈旧的资源。

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

我正在运行 AEM 6.0 SP2。

最佳答案

似乎这是一个已知的产品错误,将在 future 的 AEM 中修复。这是我从daycare ticket得到的回应:

在 AEM 6.0 SP2 及更高版本中有几个与 sling:resourceType 相关的已知问题,但我能找到的最接近您提到的场景的问题发生在复制和粘贴组件时。

它删除/破坏 sling:resourceType 属性。此问题包含在内部 ID -CQ-4212306 下,其修复程序将作为 AEM future 版本的一部分。

关于AEM 资源缺少吊索 :resourceType,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46224080/

相关文章:

aem - 如何在 AEM6.1 中从侧面板拖动组件时刷新页面?

aem - SlingModel 中的异常处理并在 AEM 中使用 Pojo?

AEM-6.4 吊索原始值 :resourceSuperType for/libs/foundation/components/redirect

javascript - Vue.js 在 DOM 树突变后挂载组件以添加 vue 组件

java - 带有 JPA 的 AEM CQ( hibernate )

maven - 吊索模型,未找到适应类,忽略

aem - 未使用自定义可序列化属性处理 Sling 作业

java - 将 OSGI 包与 Maven 一起使用时如何隐藏嵌入式依赖项?

java - 是否可以根据页面属性切换到 Sling Selector Script

maven - 我们如何为pom.xml创建一个build.gradle等效文件来构建和部署AEM代码?