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

如何在NetBeans 12中开发i18n Web应用并解决资源包缺失报错

问题解决方案

1. 确认资源文件存放路径

Maven项目默认仅会将src/main/resources目录下的文件编译至classpath中,你指定的base name为demo.test,对应资源文件需要满足:

  • 资源文件存放在src/main/resources/demo目录下
  • 法语区资源文件命名严格为test_fr_FR.properties,大小写敏感,无拼写错误
    如果你的资源文件放在Java源码目录(如src/main/java/demo下),Maven默认不会打包properties后缀的文件,需要在pom.xml中添加资源扫描配置:
<build>
  <resources>
    <resource>
      <directory>src/main/java</directory>
      <includes>
        <include>**/*.properties</include>
      </includes>
    </resource>
    <resource>
      <directory>src/main/resources</directory>
    </resource>
  </resources>
</build>

2. 验证资源加载逻辑

可以先修改代码测试默认资源包是否能正常加载,排除路径配置问题:

// 移除locale参数,测试默认资源包加载
ResourceBundle myBundle = ResourceBundle.getBundle("demo.test");

如果默认资源包可正常加载,仅fr_FR locale加载失败,说明对应法语资源文件缺失或命名错误。

3. 显式指定类加载器

主类运行时可能存在类加载器路径匹配问题,可以修改代码指定上下文类加载器加载资源:

ResourceBundle myBundle = ResourceBundle.getBundle("demo.test", locale, Thread.currentThread().getContextClassLoader());

4. 检查编译输出

执行mvn compile命令后,查看项目target/classes目录下是否存在demo/test_fr_FR.properties文件,如果文件不存在,回到第一步核对路径和pom配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 22:54:04