我的用法是,我在/app/myproject下面有多个文件夹。以前,所有文件夹都使用默认替换模式,因此filter.xml只是<filter root="/apps/myproject"/>。但我必须使一个子文件夹单独进入合并模式,并保持剩余的文件夹与替换。我们还将在未来添加更多的文件夹,因此希望保持filter.xml的灵活性,以适应未来的文件夹。
这样做的一种方法是将定义拆分为:
<filter root="/apps/myproject/folder1"/>
<filter root="/apps/myproject/folder2"/>
.
.
<filter root="/apps/myproject/folder12" mode="merge" />
.
.
<filter root="/apps/myproject/foldern"/>是否有一种优雅的方法可以劫持并将folder12排除在合并模式之外?
发布于 2021-08-31 07:45:52
我觉得有排除规则应该很容易。但当我测试的时候,有个bug。不幸的是,filter.xml中的规则顺序很重要。特殊文件夹的筛选规则必须在常规规则和排除规则之前。
这个命令对我有效:
<?xml version="1.0" encoding="UTF-8"?>
<workspaceFilter version="1.0">
<filter root="/apps/myproject/folder12" mode="merge"/>
<filter root="/apps/myproject">
<exclude pattern="/apps/myproject/folder12(/.*)?"/>
</filter>
</workspaceFilter>我还没查过窃听器是从哪里来的。但可能是从向后兼容的时代,当时没有模式-属性。在CQ5.6中,任何没有filter.xml规则的文件夹都在合并,过滤器覆盖的所有路径都会被替换。
https://stackoverflow.com/questions/68954378
复制相似问题