gpt4 book ai didi

Java 缺少资源

转载 作者:行者123 更新时间:2023-11-29 09:25:03 24 4
gpt4 key购买 nike

我正在开发一个大量使用资源包和 i18n 的 J2SE 应用程序(想想 kiosk 风格的应用程序)。这不仅包括翻译,还包括格式和其他国际化问题。我们有自定义逻辑来均匀化资源加载,但它相当简单。我遇到的问题是 MissingResourceException。即使我绕过应用程序中的自定义逻辑并直接调用 ResourceBundle 类来加载这个特定的包,Java 也无法为特定的语言环境加载它。这是堆栈跟踪的根异常:

Caused by: java.util.MissingResourceException: Can't find bundle for base name version1/FormatResource, locale en_GB
at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:836)
at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:726)
at java.util.ResourceBundle.getBundle(ResourceBundle.java:576)

资源包位于 Eclipse 类文件夹中的目录“version1”中,该文件夹位于我的类路径的顶部。该文件夹包含其他资源包,这些资源包使用相同的资源包加载逻辑可以很好地加载,还有大量的 XML 配置在使用系统类加载器加载时也可以很好地加载。资源包的相关文件是:

FormatResource_cs_CZ.properties
FormatResource_en_GB.properties
FormatResource_fr_BE.properties
FormatResource_fr_FR.properties
FormatResource_hu_HU.properties
FormatResource_nl_BE.properties
FormatResource_nl_NL.properties
FormatResource_pl_PL.properties
FormatResource_sk_SK.properties

当我的应用程序在波兰语言环境中启动时,一切正常。如果我以波兰语区域设置的用户身份登录,一切都很好。如果我以英国用户身份登录,应用程序会尝试加载所有 en_GB 包(翻译、格式化程序等),但在此包上会失败。找不到FormatResource_en_GB.properties,明明在类路径中:上面的文件列表是从命令行复制粘贴的。

我觉得有趣的最后一个问题是,如果我在 version1 目录中定义 FormatResource_en_US.properties,那么即使 FormatResource_pl_PL.properties 文件也无法加载并且应用程序甚至不会启动。

有人有什么想法吗?

最佳答案

我会尝试测试文件和操作系统问题,例如权限。

重命名您的 FormatResource_en_GB.properties 使其不受影响,并复制其中一个工作 FormatResource 文件到它的位置。

关于Java 缺少资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3135456/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com