- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试从文件位置读取属性文件。但是,资源包无法找到该文件并引发以下异常
我尝试将该文件保留在类路径下,但未能成功读取该文件。但是,我的目的是从文件路径读取属性文件,这来自用户。因此,我的类可以读取不可知的文件输入来获取属性。
Exception in thread "main" java.util.MissingResourceException: Can't find bundle for base name configFileName, locale en_US
at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1499)
at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1322)
at java.util.ResourceBundle.getBundle(ResourceBundle.java:721)
at com.cisco.propertiesreader.FileConfigLoader.getBundle(FileConfigLoader.java:16)
at com.cisco.propertiesreader.MainApp.main(MainApp.java:10)
FileConfigLoader 类:
package com.cesna.propertiesreader;
import java.util.MissingResourceException;
import java.util.ResourceBundle;
import org.apache.log4j.Logger;
public class FileConfigLoader {
private static final Logger LOGGER = Logger.getLogger(FileConfigLoader.class);
private static String EMPTY = "";
public static ResourceBundle getBundle(String configLocation) {
ResourceBundle rb = ResourceBundle.getBundle("configFileName");
return rb;
}
public static String getValue(ResourceBundle rb, String key) {
String value = EMPTY;
try {
value = rb.getString(key);
} catch (MissingResourceException mREx) {
LOGGER.error("Missing Resource : " + key);
}
return value;
}
}
主应用程序类:
package com.cesna.propertiesreader;
import java.util.ResourceBundle;
public class MainApp {
public static void main(String[] args) {
ResourceBundle resource = FileConfigLoader
.getBundle("D:\\PDIWorkspace\\PropertyFileReader\\resoures\\config.properties");
String hive_db = FileConfigLoader.getValue(resource,"hive_db");
System.out.println(hive_db);
}
}
嗯,我的做法是正确的。
配置.属性
hive_db=installbase
EDGE_HIVE_CONN=dev-node
target_dir=/app/dev/SmartAnalytics/sqoop_temp/
IB_log_table=IB_log
SR_DG_master_table=data_usage_governance_master
SR_DG_table=data_usage_governance_log
使用以下方式读取文件后问题已解决:
package com.cesna.propertiesreader;
import java.util.ResourceBundle;
public class MainApp {
public static void main(String[] args) {
ResourceBundle resource = FileConfigLoader
.getBundle("com.cisco.propertiesreader.config");
String hive_db = FileConfigLoader.getValue(resource,"hive_db");
System.out.println(hive_db);
}
}
最佳答案
您确定要执行以下操作吗
public static ResourceBundle getBundle(String configLocation) {
ResourceBundle rb = ResourceBundle.getBundle("configFileName");
return rb;
}
我觉得应该是
public static ResourceBundle getBundle(String configLocation) {
ResourceBundle rb = ResourceBundle.getBundle(configLocation);
return rb;
}
如果你想从外部目录(不在类路径中)加载数据
public static ResourceBundle getBundle(String basePath, String baseName) throws MalformedURLException {
File file = new File(basePath);
URL[] urls = {file.toURI().toURL()};
ClassLoader loader = new URLClassLoader(urls);
ResourceBundle rb = ResourceBundle.getBundle(baseName, Locale.getDefault(), loader);
return rb;
}
关于java - ResourceBundle 抛出 MissingResourceException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36008729/
我正在使用一个用 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 中的问题。它
我是一名优秀的程序员,十分优秀!