web-dev-qa-db-ja.com

異なるビルドプロファイルの異なる依存関係

異なるプロファイルのmaven pom.xmlファイルに異なる依存関係のセットを含めることは可能ですか?

例えば.

mvn -P debug
mvn -P release

同じクラス名と同じインターフェイスの異なる実装を持つ1つのプロファイルで、異なる依存関係jarファイルを取得したいと思います。

104
izb

これに関するMavenドキュメント を引用するには:

プロファイル要素には、オプションのアクティブ化(プロファイルトリガー)と、そのプロファイルがアクティブ化されている場合にPOMに対して行われる一連の変更の両方が含まれます。たとえば、テスト環境用に構築されたプロジェクトは、最終展開のデータベースとは異なるデータベースを指す場合があります。 または、使用されているJDKバージョンに基づいて、異なるリポジトリから依存関係をプルすることができます

(エンファシスは私のものです)

releaseプロファイルの依存関係をプロファイル宣言自体の内部に配置し、debugに対して同じことを行います。

 <profiles> 
 <profile> 
 <id> debug </ id> 
…
 <dependencies> 
 <dependency >…</ dependency> 
 </ dependencies> 
…
 </ profile> 
 <profile> 
 <id> release </ id > 
…
 <dependencies> 
 <dependency>…</ dependency> 
 </ dependencies> 
…
 </ profile> 
 </ profiles> 
160