我有两个不同的项目,A和B.两个项目都加载了自己的属性:
new PropertiesConfiguration("application.properties")
每个application.properties
都位于Maven资源根目录中。
当我单独执行Project B时,所有属性都被正确加载。
项目A依赖于项目B.当我执行项目A时,项目B的属性类无法加载正确的属性,因为项目A的属性已加载。
每个Project如何加载正确的属性,即使它们作为依赖项包含在内。我必须指定在不同的上下文中加载资源,但我不知道如何。
我的资源maven设置:
<resource>
<directory>${project.build.sourceDirectory}</directory>
<filtering>true</filtering>
</resource>
<resource>
<directory>${basedir}/src/main/resources</directory>
<filtering>true</filtering>
</resource>
答案 0 :(得分:0)
您可能有一些项目B的特定包,如
com.company.packageB
请将application.properties
放入
src/main/resources/com/company/packageB/application.properties
项目A也是如此
答案 1 :(得分:0)
您可以迭代所有这样的application.properties文件
for (Enumeration<URL> urls = ClassLoader.getSystemResources("application.properties"); urls.hasMoreElements();) {
URL url = urls.nextElement();
}
根据您的应用程序,如果找到多个属性文件,您必须选择如何继续。我希望这会有所帮助。