如何正确设置 ResourceBundle 和 ClassLoader?
How to properly setup ResourceBundle and 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
。
我想将正确的 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
。