- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在从事一个涉及加载 ResourceBundle 的项目。更明确地说,我创建了一个扩展 ListResourceBundle 的类。该类称为 Resources.java。它编译一切正常,但每次我尝试加载类时 MissingResourceException 都会弹出:
我所有的源文件都在第 31 章包中。在字符串中使用或不使用“chapter31”进行此调用时,总是会导致 MissingResourceException。我的 IDE 是 Eclipse。这两天我一直在研究这个问题。我什至尝试更改 Eclipse 的版本。我已经筋疲力尽了。在 Eclipse 中我该怎么做才能确保 getBundle() 方法可以看到该类。我不知道它怎么会错过它。它在同一个包里!请指教。
阿丽卡斯
package chapter31;
import java.applet.Applet;
import java.applet.AudioClip;
import java.util.ListResourceBundle;
import java.util.ResourceBundle;
import javax.swing.ImageIcon;
public class Resources extends ListResourceBundle {
Object contents[][];
public Resources() {
AudioClip clip = Applet.newAudioClip(getClass().getResource("/E31_10/audio/us.mid"));
ImageIcon image = new ImageIcon(getClass().getResource("/E31_10/image/us.gif"));
contents = new Object[3][2];
contents[0] = new Object[] {"clip", clip};
contents[1] = new Object[] {"icon", image};
contents[3] = new Object[] {"delay", new Integer(68000)};
}
protected Object[][] getContents() {
return contents;
}
public static void main(String[] args) {
ResourceBundle res = ResourceBundle.getBundle("chapter31.Resources");
}
}
最佳答案
MissingResourceException 在这里具有误导性。您的问题可能是由另外两个问题引起的:
找不到下面两行的资源:
AudioClip clip = Applet.newAudioClip(getClass().getResource("/E31_10/audio/us.mid")); ImageIcon image = new ImageIcon(getClass().getResource("/E31_10/image/us.gif"));
如果不是第一个问题,那就是第二个问题:
您有一个错误的数组索引 contents[3]
,这将导致 ArrayIndexOutOfBoundsException
,这也会导致抛出误导性的 MissingResourceException。如果您可以在异常堆栈跟踪中找到此异常,那么您的问题就在这里。改成contents[2]即可解决。
注意:您看到 MissingResourceException 的原因最终是由于上述问题导致类加载器无法创建 Resources 类的实例。如果您将 contents 数组初始化代码放在一个单独的方法中而不是构造函数中,您可能不会在对象初始化阶段获得此异常。当然,当您尝试调用 getObject 方法时,稍后会弹出其他异常。
关于java - ListResourceBundle 和 MissingResourceException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10777554/
我正在使用一个用 JFrame 实现 GUI 的程序进行练习。程序的语言可以通过使用名称如“messages_xy”(xy 是语言的缩写)的属性来个性化。 现在,当我启动 Java 应用程序时,我收到
为什么这会抛出 MissingResourceException ?是我弄错了还是不是ListResourceBundles 的重点是在代码中提供资源? public class Hello exte
我有 2 个 java 应用程序,第二个应用程序作为 jar 文件添加到第一个应用程序,第一个应用程序作为 JBOSS 中的工作流部署。 第二个应用程序的 .property 文件未包含在 jar 中
我刚刚在 Windows Netbeans 上的 IDE 中完成了 Telegram 机器人的编程。运行完美,没有任何问题。我的问题是,当我创建一个存储包以便将其上传到我自己的 Ubuntu VPS
我正在尝试添加一个选项来更改程序中的语言,问题是我找不到正确的使用路径,而且我一直得到一个 java.util.MissingResourceException: Can't find bundle
我在运行应用程序时遇到异常。此应用程序读取 abc.properties 文件, Exception in thread "main" java.util.MissingResourceExcepti
我知道在 stackoverflow 和其他论坛上有很多关于这个错误的问题和答案。但是我还是找不到解决方案... 出于速度原因,我有一个实用程序类,它根据提供的语言环境加载所有静态数据映射(例如几个月
大家好, 我正在创建一个 ResourceBundle 来加载属性文件。我的文件结构如下所示 |---主要 | ----ResourceBundleLoad.java |--资源
我正在尝试从文件位置读取属性文件。但是,资源包无法找到该文件并引发以下异常 我尝试将该文件保留在类路径下,但未能成功读取该文件。但是,我的目的是从文件路径读取属性文件,这来自用户。因此,我的类可以读取
我正在从事一个涉及加载 ResourceBundle 的项目。更明确地说,我创建了一个扩展 ListResourceBundle 的类。该类称为 Resources.java。它编译一切正常,但每次我
这个错误一直困扰着我。我似乎无法理解为什么 Eclipse 无法读取就在那里的资源。我已经在“配置包含”对话框中检查了类路径。我还使用该文件的完全限定名称。 AutomateWaveClose s
我正在尝试使用自定义记录阅读器、映射器和缩减器设置一个简单的 mapReduce 应用程序。直到(包括)映射器它似乎工作(调用 context.write 时我在控制台上写出键值对以进行测试)。 然后
我以前多次使用 JDBC 都没有任何问题,但由于某种原因在我的新服务器上它无法正常工作。代码在我的主机上编译和运行良好,所有库(包括 JDBC)都应该编译到我运行的单个 JAR 中。 基本代码: tr
我正在使用 this 中的代码使用 MXJ 将 MySQL“嵌入”到我的 Java 应用程序中的教程。但是,我在运行代码时遇到了这个异常: Exception in thread "main" jav
我正在编写一个使用 MQTT 的 Android 应用程序。 在发布构建中,我遇到了一个异常: MqttClient client = new MqttClient(host, clientId, n
当我在应用程序上运行方法时,出现以下异常,但缺少“JarSignerResources”的类位于我的类路径中(tools.jar 的一部分)。我以前从未见过这样的异常,它只发生在Linux(而不是OS
我对 Vaadin 框架还很陌生,我正在尝试制作一个国际化的应用程序。我正在使用 NetBeans,并且已按照以下步骤操作: 创建一个新的 Vaadin 项目,其中包含一个 UI 类和一个其上的文本字
我已经搜索过,但没有结果。运行 JSF 应用程序时,我在控制台中收到此错误。 我正在尝试按照教程将基本的 messages.properties 文件添加到我的计算器应用程序中。该教程说“如果您使用
为了国际化我的代码,我使用名为 MessagesBundle_en_UK.properties 的属性文件,该文件位于名为 config 的资源文件夹中,以便我具有以下结构: +---src
我在迭代键数组并调用资源包上的 getString() 方法时遇到了这个问题。我的包中有我需要的所有映射,但由于某种原因,其中一个资源将不会被获取。这只是 Linux Ubunthu 9 中的问题。它
我是一名优秀的程序员,十分优秀!