Java AEM CQ 6.1 DAM文件夹在发布中返回0个子项

Java AEM CQ 6.1 DAM文件夹在发布中返回0个子项,java,adobe,aem,Java,Adobe,Aem,我有DAM图像文件夹路径,我想执行imageFolder.getChildren(),它返回一个没有子资源的空迭代器。这只发生在publish实例中,在author实例中有效。有线索吗?权限不应该是它,因为我可以解析路径并请求子项,它不是null或任何东西。谢谢你的帮助 Resource imageFolder = resourceResolver.resolve(imageFolderUrl); for (Resource imageResource : imageFolder.getChil

我有DAM图像文件夹路径,我想执行imageFolder.getChildren(),它返回一个没有子资源的空迭代器。这只发生在publish实例中,在author实例中有效。有线索吗?权限不应该是它,因为我可以解析路径并请求子项,它不是null或任何东西。谢谢你的帮助

Resource imageFolder = resourceResolver.resolve(imageFolderUrl);
for (Resource imageResource : imageFolder.getChildren()){
    //empty, doesn't run since getChildren() is 0 sized.
}

最可能的原因是发布服务器“丢失”了某些内容(即,尚未激活)。转到发布服务器上的
/crx/de/index.jsp
,查看imageFolder路径中的内容

似乎是:

发布时缺少图像文件夹本身。在这种情况下,
resourcesolver.resolve(imageFolderUrl)
将返回一个“不存在”的资源,而不是null。您可以检查以下内容:

 if (imageFolder.isResourceType(Resource.RESOURCE_TYPE_NON_EXISTING))  {
   //imageFolder doesn't exist
 }

或者公用文件夹下没有图像。

打开发布实例,检查图像是否存在于imageFolder中。可能发生的情况是,您没有将图像从作者复制到发布实例。如果不先发布所有图像。