プロパティ ファイル common.properties に環境プロファイル (dev、prod...) に応じた値を入力したいのですが、ファイルをクラスパスに追加したくありません。
プロファイルを使用してプロパティファイルからMaven変数を読み取るなど、いくつかのトピックを読みました
したがって、プロパティをプロファイルで埋めることができます。
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<version>${properties-maven-plugin.version}</version>
<executions>
<execution>
<id>read-project-properties</id>
<phase>initialize</phase>
<goals>
<goal>read-project-properties</goal>
</goals>
<configuration>
<files>
<file>config/common_dev.properties</file>
</files>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<build>
<resources>
<resource>
<directory>config</directory>
<filtering>true</filtering>
</resource>
...
</resources>
...
</build>
モジュールには、ファイル common.properties および common_dev.properties を含むフォルダー構成があります。
common_dev.properties:
common.reception.directory.norm = PHASE1V1
common.properties:
common.reception.directory.norm = ${common.reception.directory.norm}
common.properties は mvn clean install で十分に満たされていますが、config ディレクトリは Eclipse のソース フォルダーになり、ディレクトリのクラスパス エントリが追加されています。これは私の問題です。common.propertiesファイルは、そのパスを含む環境変数を持つアプリケーションで取得され、クラスパスから読み取られません。機能していますが、プロジェクト開発者にとっては混乱を招きます。
また、プロパティ maven-plugin の write-project-properties と write-active-profile-properties を使用しようとしましたが、最初の 1 つはすべてのプロジェクト プロパティをファイルに書き込み、2 番目は何も書き込みません。プロファイル プロパティではなく、プロジェクト プロパティとしてのプロパティ。
私がやりたいことをする方法はありますか?