0

A と B の 2 つの異なるプロジェクトがあります。どちらのプロジェクトも、次のように独自のプロパティをロードします。

new PropertiesConfiguration("application.properties")

それぞれapplication.propertiesが Maven リソースのルート ディレクトリにあります。

プロジェクト B を単独で実行すると、すべてのプロパティが正しく読み込まれます。

プロジェクト A はプロジェクト B に依存しています。プロジェクト A を実行すると、プロジェクト A のプロパティが読み込まれるため、プロジェクト B のプロパティ クラスは正しいプロパティを読み込むことができません。

依存関係として含まれている場合でも、各プロジェクトが正しいプロパティをロードするにはどうすればよいですか。さまざまなコンテキストでリソースをロードするように指定する必要がありますが、その方法がわかりません。

リソースの私の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

おそらく、プロジェクト B のような特定のパッケージがいくつかあるでしょう。

com.company.packageB

だからあなたapplication.propertiesを入れて

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

プロジェクトAも同様

于 2012-08-23T13:52:58.263 に答える
0

このように、すべての application.properties ファイルを反復処理できます

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

アプリケーションに応じて、複数のプロパティ ファイルが見つかった場合の処理​​方法を選択する必要があります。これが役立つことを願っています。

于 2012-08-23T14:32:13.550 に答える