Tomcat\bin 文件夹中的属性文件获取 java.util.MissingResourceException

发布于 2024-11-08 20:32:50 字数 213 浏览 0 评论 0原文

我想使用 ResourceBundleTomcat\bin 文件夹中读取属性文件。 当我将属性文件放入项目的根文件夹中时,我可以读取该文件。 但是当我将其放入 Tomcat\bin 文件夹中时,我收到 java.util.MissingResourceException。这是如何引起的以及如何解决?

I want to read a properties file from Tomcat\bin folder using ResourceBundle.
When I put my properties file in project's root folder, I am able to read this file.
But when I put it in Tomcat\bin folder, I'm getting java.util.MissingResourceException. How is this caused and how can I solve it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

七度光 2024-11-15 20:32:50

您需要将其放入类路径中。 Tomcat/bin 文件夹不是 Web 应用程序的默认运行时类路径的一部分。如果您打算将外部文件夹添加到 Tomcat 中运行的 Web 应用程序的类路径中,则需要在 Tomcat/conf/ 的 shared.loader 属性中指定该文件夹的路径catalina.properties 文件。不过,我会选择与 Tomcat/bin 不同的文件夹。


与问题无关ResourceBundle API 旨在读取资源包文件(具有本地化内容,以便您可以国际化您的应用程序),而不是读取简单的属性文件(具有配置设置)。为此,您应该使用 java.util。属性而不是滥用java.util.ResourceBundle

Properties properties = new Properties();
properties.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("/config.properties"));
// ...

You need to put it in the classpath. The Tomcat/bin folder is not part of the webapp's default runtime classpath. If you intend to add an external folder to the classpath of a webapp running in Tomcat, then you need to specify the path to that folder in the shared.loader property of the Tomcat/conf/catalina.properties file. I would however choose a different folder than the Tomcat/bin.


Unrelated to the problem, the ResourceBundle API is meant to read resourcebundle files (with localized content so that you can internationalize your app), not to read simple properties files (with configuration settings). For that you should be using java.util.Properties instead and not abuse the java.util.ResourceBundle.

Properties properties = new Properties();
properties.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("/config.properties"));
// ...
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文