私はMaven構成では比較的新しいことを述べたいと思います。
私の状況:
- Maven 3.0.5 を使用して J2E アプリケーションを構築します
- アプリケーションは、ローカル、開発、テスト、および本番の 4 つの異なる環境にデプロイされます。
- Maven プロファイルを使用して、環境固有の構成を構成します
- これらの構成は
properties
、ファイル システム内のファイルで定義しました。
これはそれらのためのファイルシステムです:
<my-project-root>
---profiles
------local
---------app.properties
------dev
---------app.properties
------test
---------app.properties
次のロジックを使用して、対応するプロパティ ファイルを my に読み込みますpom.xml
。
<profiles>
<profile>
<id>local</id>
<!-- The development profile is active by default -->
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<build.profile.id>local</build.profile.id>
</properties>
</profile>
<profile>
<id>dev</id>
<properties>
<build.profile.id>dev</build.profile.id>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<build.profile.id>prod</build.profile.id>
</properties>
</profile>
<profile>
<id>test</id>
<properties>
<build.profile.id>test</build.profile.id>
</properties>
</profile>
</profiles>
<build>
<finalName>MyProject</finalName>
<plugins>
</plugins>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
<resource>
<directory>profiles/${build.profile.id}</directory>
</resource>
</resources>
</build>
この構成により、現在のプロファイルのそれぞれのプロパティをほとんどどこでも使用できます。どこでも、しかし<plugins>
セクション。たとえば、データベースの URL や資格情報をそのようなプロパティ ファイルからロードしたいのですが、それらをプラグイン セクションに含めるapp.properties
と、プラグイン セクションで評価されません (たとえば${endpoint}
、データベース エンドポイントとして値を取得します)。
セクションでアクセス可能なプロファイルのファイルから読み込まれたプロパティを取得するにはどうすればよい<plugins>
ですか?
pom.xml
PS: はい、これらのプロパティをタグの下の as プロパティに直接追加すると<profiles>
、それらにアクセスできますが、パスワードを pom から除外したいと思います。