使用AEM Project Archetype 27生成英乌双语项目异常问题咨询
问题根因
AEM Project Archetype 27版本针对AEM 6.4.x版本做兼容时,language参数不支持逗号分隔的多语言传入格式,导致多语言结构生成失败。
解决方案
方法一:调整生成命令的language参数写法
将原命令中-D language=en,uk修改为用引号包裹、空格分隔的格式,完整命令如下:
mvn -B archetype:generate \ -D archetypeGroupId=com.adobe.aem \ -D archetypeArtifactId=aem-project-archetype \ -D archetypeVersion=27 \ -D appTitle="My Multilanguage project" \ -D appId="my-project" \ -D artifactId="my-project" \ -D groupId="com.my.project" \ -D frontendModule="react" \ -D aemVersion="6.4.8.4" \ -D language="en uk" \ -D includeExamples=y \ -D includeErrorHandler=y
执行该命令后,archetype会正确生成/content/my-project/en、/content/my-project/uk两个语言根节点,同时对应i18n目录下也会生成两种语言的翻译文件。
方法二:手动补全多语言配置
如果参数调整后依然没有生成乌克兰语的结构,可先生成仅支持英语的项目,再按照以下步骤补全:
- 在
ui.content/src/main/content/jcr_root/content/my-project/目录下复制en节点文件夹,重命名为uk,修改文件夹内.content.xml中的jcr:title、jcr:language属性为乌克兰语对应配置 - 在
ui.apps/src/main/content/jcr_root/apps/my-project/i18n/目录下新增uk文件夹,放入乌克兰语的翻译字典文件 - 调整项目的语言路由配置,匹配
uk语言根路径
注意事项
- 确认AEM 6.4.8.4实例已经预先安装了乌克兰语语言包,否则部署后乌克兰语站点的界面翻译可能无法正常加载
- 生成后可先检查
ui.content模块的content目录结构,确认两个语言根节点都存在再执行后续构建部署操作
内容的提问来源于stack exchange,提问作者Salvatore Rinaudo
相关产品推荐
相关产品推荐

