如何正确设置 ResourceBundle 和 ClassLoader?

沃里安

我想将正确的 ResourceBundle 传递给我的 Jasper 报告,但我不确定如何做到这一点。到目前为止,这是我的代码:

Locale locale = Locale.getDefault();
ClassLoader classLoader = getClass().getClassLoader();
File file = new File(classLoader.getResource("Bundle.properties").getFile()); 
URL[] urls = {file.toURI().toURL()}; 
ClassLoader loader = new URLClassLoader(urls); 
ResourceBundle rb = ResourceBundle.getBundle("bundle", locale, loader);

但这给了我

java.util.MissingResourceException: Can't find bundle for base name bundle, locale XX_XX

错误 :(

我的捆绑文件在这里:

src/main/resources/Bundle.properties
src/main/resources/bundle_en.properties
src/main/resources/bundle_de.properties

谢谢!

罗宾格林

首先,我认为您应该使用classLoader,而不是loader. 我猜loader这只是一个失败的解决方法,所以我建议你删除它。

其次,后备包文件可能应该被调用bundle.properties,而不是Bundle.properties.

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章