gpt4 book ai didi

java - Java ResourceBundle.getBundle 如何加载属性文件?

转载 作者:行者123 更新时间:2023-12-02 01:30:36 31 4
gpt4 key购买 nike

我花了一些时间尝试加载属性文件,但找不到任何有效的解决方案。这是我的设置的图片。

属性文件位置:/sandbox/resources/properties/MessageBundle_en_US.properties

应用程序位置:/sandbox/src/main/java/com/app/sandbox/App.java

enter image description here

不知道发生了什么。我尝试了几种组合,但它就是无法克服异常。我什至尝试了文件夹的整个路径。谁能告诉我 ResourceBundle.getBundle() 方法如何查找属性文件?

更新 1:此解决方案在几分钟后停止工作:

ResourceBundle mybundle = ResourceBundle.getBundle("MessageBundle");

更新 2:上述解决方案在我上次运行期间不再有效。所以我把它改为:

ResourceBundle mybundle = ResourceBundle.getBundle("properties/MessageBundle");

而且它成功了。 ResourceBundle 查找属性文件的方式似乎可能存在缓存问题。

我仍然不确定 ResourceBundle 类如何查找属性文件。它说传递一个“baseName”参数:

baseName - the base name of the resource bundle, a fully qualified class name

https://docs.oracle.com/javase/7/docs/api/java/util/ResourceBundle.html#getBundle(java.lang.String)

但尚不清楚它是如何开始查找文件的。它是从项目目录的根目录开始查找吗?如果有人能回答这个问题就好了。 完全限定的类名意味着什么。我不认为“properties.MessageBundle”是完全合格的。

最佳答案

尝试如下使用;

ResourceBundle bundle = ResourceBundle.getBundle("properties/MessageBundle");

关于java - Java ResourceBundle.getBundle 如何加载属性文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56105179/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com