我有两个不同的项目,A和B。这两个项目都使用以下命令加载自己的属性:
new PropertiesConfiguration("application.properties")每个application.properties都位于Maven资源根目录中。
当我单独执行Project B时,所有属性都正确加载。
项目A依赖于项目B。当我执行项目A时,项目B的属性类无法加载正确的属性,因为加载了项目A的属性。
每个项目如何加载正确的属性,即使它们是作为依赖项包含的。我必须指定在不同的上下文中加载资源,但我不知道如何加载。
我对资源的maven设置:
<resource>
<directory>${project.build.sourceDirectory}</directory>
<filtering>true</filtering>
</resource>
<resource>
<directory>${basedir}/src/main/resources</directory>
<filtering>true</filtering>
</resource>发布于 2012-08-23 21:52:58
您可能有一些针对项目B的特定包,如
com.company.packageB所以把你的application.properties放进去
src/main/resources/com/company/packageB/application.properties项目A也是如此
发布于 2012-08-23 22:32:14
您可以像这样遍历所有application.properties文件
for (Enumeration<URL> urls = ClassLoader.getSystemResources("application.properties"); urls.hasMoreElements();) {
URL url = urls.nextElement();
}根据您的应用程序,您必须选择在找到多个属性文件时如何继续。我希望这能帮到你。
https://stackoverflow.com/questions/12092950
复制相似问题