我正在使用一个使用JFrame实现GUI的程序进行练习。程序的语言可以通过使用名称类似“messages_xy”(xy是语言的简写形式)的属性进行个性化。
现在当我启动Java应用程序时,我得到一个MissingResourceException,它说:“无法找到基本名称org.jis.name,locale en(...)的包,由NoClassDefFoundError引起”。
属性文件messages_en在正确的目录中,我检查了参数,它们也很好。第一次调用messages_en时会发生错误。 This is the whole error message.
以下是失败的方法。我没有编写代码,我只需要将它用于练习,所以我不应该做任何改动。
public class Messages implements Serializable {
private static final long serialVersionUID = -3129495340668876130L;
private final String BUNDLE_NAME = "org.jis.messages";
private ResourceBundle RESOURCE_BUNDLE;
public Messages(Locale l) {
RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME, l);
}
(...)}
编辑:here是源文件夹的目录路径,我标记了Messages类所在的位置以及属性文件所在的位置。
答案 0 :(得分:1)
[解决] 我建立的路径是问题,即使我认为它是正确的。我通过再次将正确的文件夹添加到构建的路径来修复它,现在它可以正常工作。