【发布时间】:2010-08-01 18:18:26
【问题描述】:
我正在测试 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"));
}
}
【问题讨论】:
标签: java internationalization resourcebundle