我正在测试 Java 的 i18n 功能并遇到问题,当语言文件不在类根目录中时,我无法加载它。现在我的文件在/lang
目录中。
在 SO 中查看了几个答案,将其放在classes
子目录中并加载它lang.Messages
,使用完整的位置路由/Test/lang/Message
(测试是项目名称),使用只是/lang/Message
并且仍然得到:
java.util.MissingResourceException: Can't find bundle for base name
错误。
还有什么要尝试的吗?
我的文件结构是:
Test/lang/Messages_es.properties
Test/src/test/Main.java
import java.util.Locale;
import java.util.ResourceBundle;
import javax.swing.JFrame;
public class Main {
public static void main(String[] args) {
Locale currentLocale;
ResourceBundle messages;
currentLocale = new Locale("es");
messages = ResourceBundle.getBundle("Messages", currentLocale);
System.out.println(messages.getString("Messagesgreetings"));
System.out.println(messages.getString("Messagesinquiry"));
System.out.println(messages.getString("Messagesfarewell"));
}
}