我在AEM项目中使用的是AEM原型Maven。
我的站点配置受版本控制,并且位于 ui.apps / src / main / content / jcr_root / conf / project-name 中。它包含模板,模板类型和策略。
我的页眉和页脚组件正在使用设计对话框并存储几个属性以及每个属性的策略中的一个多字段。因此,这些内容存储在 / conf / project-name 中。
<header jcr:primaryType="nt:unstructured">
<policy_1547171225060
jcr:primaryType="nt:unstructured"
jcr:title="Header"
sling:resourceType="wcm/core/components/policy/policy"
alttext=""
heading="">
<jcr:content jcr:primaryType="nt:unstructured"/>
<headerPrimaryLinks jcr:primaryType="nt:unstructured"/>
<headerSecondaryLinks jcr:primaryType="nt:unstructured"/>
</policy_1547171225060>
</header>
<footer jcr:primaryType="nt:unstructured">
<policy_1547176219602
jcr:primaryType="nt:unstructured"
jcr:title="Footer"
sling:resourceType="wcm/core/components/policy/policy"
alttext=""
copyright="">
<jcr:content jcr:primaryType="nt:unstructured"/>
<footerTopLinks jcr:primaryType="nt:unstructured"/>
<footerBottomLinks jcr:primaryType="nt:unstructured"/>
<footerSocialLinks jcr:primaryType="nt:unstructured"/>
</policy_1547176219602>
</footer>
我还在ui.apps / src / main / content / META-INF / vault / filter.xml 中定义了一些工作区过滤器。
<?xml version="1.0" encoding="UTF-8"?>
<workspaceFilter version="1.0">
<filter root="/apps/project-name"/>
<filter root="/apps/sling"/>
<filter root="/conf/project-name" mode="merge"/>
</workspaceFilter>
当我运行Maven构建并创建我的应用程序包并使用包管理器将其导入AEM,然后重新安装时,我的内容将保留在页眉和页脚中。但是...
如果我使用CRX插件运行Jenkins构建,则我的内容将被删除/替换。似乎我的合并模式没有受到 / conf / project-name 的尊重,因此不能正确保留输入的内容。为什么会这样?