如何获取配置文件的正确路径?

3
我创建了一个Java项目,其中包含三个配置文件:
  • log4j.XML
  • QueueConfig.xml
  • rabbitmq.properties
我将这三个文件放在资源文件夹中。
然后我创建了我的项目的jar文件。将此jar文件添加到另一个项目中,但它无法找到配置文件的正确位置。
我的文件结构如下所示:

alt text

谢谢!
2个回答

3

您可以像使用下面的示例那样使用它。

ClassFromWhichYouAreACcessingTheseFiles.class.getResources("resources/log4j.properties");

如果您将此jar添加到其他项目中,您就能够访问它。


谢谢。我尝试了,但它返回空值。URL url = this.getClass().getResource("resources/log4j.xml"); - Sameek Mishra
@sam,不要使用这个,尝试使用ClassFromWhichYouAreAccessingTheseFiles.class.getResources("/resources/log4j.properties"); - jmj

1
如果您的配置文件最终位于WEB-INF/classes文件夹中。
ClassFromWhichYouAreACcessingTheseFiles.class.getClassLoader().getResources("log4j.properties"); 

否则它将包括从访问这些文件的类的“package-path”。

谢谢,它有效。我的jar文件需要包含资源文件夹。 - Sameek Mishra

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接