複数のプラグイン実行とリソース フィルタリングを指定する場合、これはプロファイルなしで実行できます。
${basedir}/src/main/filters
環境ごとに適切な値を保持する各バージョン (prod.properties、dev.properties など)のプロパティ ファイルを作成します。
リソースのフィルタリングを有効にします。
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
次に、リソース プラグインの実行を追加します。フィルター ファイルと出力ディレクトリが異なることに注意してください。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>default-resources</id>
<phase>process-resources</phase>
<goals>
<goal>resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.outputDirectory}/dev</outputDirectory>
<filters>
<filter>${basedir}/src/main/filters/dev.properties</filter>
</filters>
</configuration>
</execution>
<execution>
<id>prod</id>
<phase>process-resources</phase>
<goals>
<goal>resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.outputDirectory}/prod</outputDirectory>
<filters>
<filter>${basedir}/src/main/filters/prod.properties</filter>
</filters>
</configuration>
</execution>
</executions>
</plugin>
最後に、jar プラグインです。分類子と入力ディレクトリに注意してください:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<id>default-jar</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<classifier>dev</classifier>
<classesDirectory>${project.build.outputDirectory}/dev</classesDirectory>
</configuration>
</execution>
<execution>
<id>jar-prod</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<classifier>prod</classifier>
<classesDirectory>${project.build.outputDirectory}/prod</classesDirectory>
</configuration>
</execution>
</executions>
</plugin>
実行mvn clean install
すると、アーティファクトで適切にフィルタリングされたリソースが生成され、必要に応じdev
てprod
分類子が作成されます。
この例では、開発バージョンのdefault-resources
およびの実行 ID を使用しました。default-jar
これがないと、ビルド時に未分類の jar アーティファクトも取得されます。