You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

自定义Oak Index的CI/CD部署问题(AEM本地+AEMaaCS)

解决AEMaaCS本地部署Oak Index时的MANIFEST.MF过滤问题

问题定位

target\classes\META-INF\MANIFEST.MF未被过滤规则覆盖错误,本质是FileVault插件处理Oak Index包的MANIFEST文件时,默认过滤规则未匹配自定义索引的配置场景,导致插件判定MANIFEST文件未被正确处理。

直接解决方法

1. 调整FileVault插件过滤规则

在ui.apps模块的pom.xml中,给FileVault插件添加明确的MANIFEST文件过滤规则,强制插件识别该文件为已处理:

<plugin>
    <groupId>org.apache.jackrabbit</groupId>
    <artifactId>filevault-package-maven-plugin</artifactId>
    <version>1.3.4</version>
    <configuration>
        <filterSource>
            <filters>
                <filter>
                    <root>/</root>
                    <includes>
                        <include>/_oak_index/demo.search-1-custom-1/**</include>
                        <include>META-INF/MANIFEST.MF</include>
                    </includes>
                </filter>
            </filters>
        </filterSource>
        <!-- 保留原有其他配置 -->
    </configuration>
</plugin>

2. 关闭MANIFEST文件严格校验

若上述方法无效,可在插件配置中关闭未覆盖检查:

<plugin>
    <groupId>org.apache.jackrabbit</groupId>
    <artifactId>filevault-package-maven-plugin</artifactId>
    <version>1.3.4</version>
    <configuration>
        <strictValidation>false</strictValidation>
        <!-- 保留原有其他配置 -->
    </configuration>
</plugin>

注意:关闭严格校验后,需自行确保包内容无遗漏或错误,避免索引部署后不生效。

合规的Oak Index替代部署方式

1. 手动包部署

本地开发时,将Oak Index内容打包为zip包,通过AEM包管理器(/crx/packmgr)手动上传部署。这种方式绕过Maven插件过滤问题,同时完全符合AEMaaCS规范——生产环境可通过Cloud Manager上传包部署索引。

2. 拆分独立索引包

将自定义Oak Index从ui.apps模块拆分,创建独立的oak-indexes模块专门处理索引部署:

  • 在独立模块的pom.xml中配置FileVault插件,仅包含/_oak_index路径内容
  • 部署时先传索引包,再部署业务代码包,避免资源过滤规则冲突,符合模块化最佳实践

3. 使用JSON格式索引定义

针对AEMaaCS,推荐用JSON格式定义Oak Index,放在ui.config模块的/oak:index路径下,天然兼容AEMaaCS和本地SDK,无需处理复杂过滤规则:

{
  "jcr:primaryType": "oak:QueryIndexDefinition",
  "type": "lucene",
  "async": "async",
  "includedPaths": ["/content/demo"],
  "propertyNames": ["demo:title", "demo:description"],
  "reindex": true
}

将该文件放在ui.config/src/main/content/jcr_root/apps/demo/osgiconfig/config.oak.index/demo.search-1-custom-1.json路径,Maven部署时会自动创建对应Oak Index。

内容的提问来源于stack exchange,提问作者Som

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 17:23:11