之前我将属性文件放在classpath src/
中。现在我想把它放在一个名为config/
的文件夹中。通过这种方式,最终用户可以自己修改文件。
但是现在我的代码不再适用了
ResourceBundle.getBundle("Messages", Locale.getDefault());
我在代码中的意思不再起作用,在我部署应用程序并修改Messages_en_US.properties
后,不会发生更改。
我怎样才能实现我想要的目标?我应该使用getBundle
吗?
修改
我已将config
文件夹添加到类路径中,但我不确定这是否相关。这是一个普通的Java应用程序,我没有使用Maven或任何构建工具。
答案 0 :(得分:0)
默认情况下,ResourceBundle仅在首次请求时加载,并重新用于后续请求。您可以使用ResourceBundle.clearCache();
此外,by default,ResourceBundles从类路径加载。因此,您必须确保有问题的类加载器不会缓存资源。或者您可以provide自己的ResourceBundle.Control
以您喜欢的方式加载属性文件。