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

Magnolia项目部署后页面无法查看及i18n重复键错误求助

解析Magnolia中"Duplicated keys found while loading message bundles from ./mgnl-i18n"错误及解决方法

错误含义

这个错误本质是Magnolia在加载国际化消息资源时,发现./mgnl-i18n目录下的属性文件(比如messages_en.properties、messages_zh.properties这类多语言配置文件)里存在重复的键名。

Magnolia依赖这些唯一的键来匹配对应的翻译文本——不管是后台Admin Central的UI文本,还是前端网站的内容展示,都靠这些键来获取正确的文字。一旦出现重复键,系统加载时会陷入歧义:不知道该用哪个键对应的文本,不仅会抛出这个错误,还可能间接导致你之前遇到的Pages应用无页面、无法预览网站这类功能异常。

解决方法

我之前处理过类似问题,按以下步骤来就能搞定:

  • 第一步:精准定位重复键
    先去Tomcat的日志文件(一般在tomcat/logs目录下的localhost.log或catalina.out)里找详细报错信息,通常日志会明确列出重复的键名,以及涉及到的具体文件路径。如果日志信息不够详细,可以修改Magnolia的日志配置文件WEB-INF/log4j2.xml,把日志级别从info调整为debug,重启服务器后就能拿到更具体的重复键线索。

  • 第二步:清理重复定义
    根据定位到的信息,分两种情况处理:

    1. 如果是同一个.properties文件内重复了同一个键:直接删掉多余的重复条目,保留你需要的那个版本即可。
    2. 如果是不同.properties文件(比如不同模块的同语言消息文件)里重复了键:需要判断哪个定义是你需要的。比如自定义模块的消息键和Magnolia核心模块的键重复,如果你想覆盖默认文本,就保留自定义模块里的键,删掉核心模块的(或者反过来,根据你的需求)。注意:Magnolia加载消息有优先级,但重复定义本身就是不允许的,必须手动清理其中一个。
  • 第三步:验证修复效果
    清理完重复键后,记得先清理Tomcat的work目录和webapp下的缓存文件,然后重新部署webapp:war exploded工件,启动服务器。之后检查日志是否还有这个错误,同时验证Pages应用是否能正常显示页面、访客预览功能是否恢复。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:53:54