i18n获取不到路径和词条(java后端是springCloud)
报错:
以下回复参考:皆我百晓生、券券喵儿等免费微信小程序作答:
从你给出的代码和错误信息来看,你在使用Spring框架的i18n国际化支持时遇到了问题。主要的错误是NullPointerException,这意味着你试图访问一个null对象的属性或方法。根据你提供的代码和配置信息,可能的问题和解决方案如下:
resources
目录下,并且名称应该是messages_zh_CN.properties
和messages_en_US.properties
(没有@J_)。确认这些文件是否确实存在并位于正确的位置。spring.messages.basename
配置正确。你的配置图5和图6中写的是i18n/messages/messages
,这可能不是正确的路径。如果资源文件位于resources
目录下,并且名称为messages_{locale}.properties
,那么你可能需要将配置改为messages
。也就是说,去掉路径前缀并保留文件名。TranslationUtil.getMessage()
方法时传入的messageKey
是有效的,也就是说这个key确实存在于你的资源文件中。否则,当你试图获取一个不存在的key时,可能会引发NullPointerException。ResourceBundleMessageSource
。根据你提供的代码,初始化过程看起来是正确的。但是,如果在初始化过程中发生了错误(例如资源文件不存在或无法访问),那么可能会出现NullPointerException。你可以在初始化代码中增加错误处理逻辑来捕获可能的异常并输出更详细的错误信息。希望这些建议能帮助你解决问题。如果问题仍然存在,你可能需要提供更多的信息(例如完整的堆栈跟踪或更详细的错误消息)以便更准确地诊断问题。