Java 如何正确设置ResourceBundle和ClassLoader?
我想将正确的ResourceBundle传递到我的Jasper报告中,但我不确定具体怎么做。这是我目前的代码:Java 如何正确设置ResourceBundle和ClassLoader?,java,classloader,resourcebundle,Java,Classloader,Resourcebundle,我想将正确的ResourceBundle传递到我的Jasper报告中,但我不确定具体怎么做。这是我目前的代码: Locale locale = Locale.getDefault(); ClassLoader classLoader = getClass().getClassLoader(); File file = new File(classLoader.getResource("Bundle.properties").getFile()); URL[] urls = {file.toUR
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:找不到基本名称捆绑包的捆绑包,区域设置XX\u 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