0

我有两个不同的项目,A 和 B。这两个项目都加载了自己的属性:

new PropertiesConfiguration("application.properties")

每个application.properties都位于 Maven 资源根目录中。

当我单独执行项目 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>
4

2 回答 2

0

您可以像这样遍历所有 application.properties 文件

    for (Enumeration<URL> urls = ClassLoader.getSystemResources("application.properties"); urls.hasMoreElements();) {
        URL url = urls.nextElement();
    }

根据您的应用程序,您必须选择在找到多个属性文件时如何进行。我希望这有帮助。

于 2012-08-23T14:32:13.550 回答
0

您可能有一些针对项目 B 的特定包,例如

com.company.packageB

所以把你application.properties

src/main/resources/com/company/packageB/application.properties

项目 A 也是如此

于 2012-08-23T13:52:58.263 回答