我想使用Tomcat\bin
从ResourceBundle
文件夹中读取属性文件。
当我将我的属性文件放在项目的根文件夹中时,我能够读取此文件。
但当我把它放在Tomcat\bin
文件夹中时,我得到了java.util.MissingResourceException
。这是怎么造成的,我该如何解决?
答案 0 :(得分:4)
您需要将它放在类路径中。 Tomcat/bin
文件夹不是webapp的默认运行时类路径的一部分。如果要将外部文件夹添加到在Tomcat中运行的webapp的类路径中,则需要在shared.loader
文件的Tomcat/conf/catalina.properties
属性中指定该文件夹的路径。但是,我会选择与Tomcat/bin
不同的文件夹。
无关问题,ResourceBundle
API旨在读取资源捆绑文件(使用本地化内容以便您可以将应用程序国际化),而不是读取简单的属性文件(使用配置)设置)。为此,您应该使用java.util.Properties
而不是滥用java.util.ResourceBundle
。
Properties properties = new Properties();
properties.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("/config.properties"));
// ...