0
私は、異なるプラットフォームをプロファイルするjarファイルを持っています。差異(異なる依存関係と依存関係の異なるバージョンを含む)は、プロファイルを使用して処理されます。私は、プラットフォームA用にビルドする場合 メイヴンプロファイルをフラットにする方法は?
<profiles>
<profile>
<id>PlatformA</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<dependencies>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.5</version>
</dependency>
</dependencies>
</profile>
</profiles>
<profiles>
<profile>
<id>PlatformB</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<dependencies>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
</dependencies>
</profile>
</profiles>
今の問題は、ある、インストールPOMは変更されません。つまり、jarファイルがサービスとして使用されている場合、-PPlatformAを使用してプロファイルPlatformA(またはPlatformB)をアクティブにする必要があります。それ以外の場合、依存関係は処理されません。
フラットプロファイルのコンテンツをpomに挿入し、フラットフォームをインストールする方法はありますか?つまり、-PPlatformAを使ってjarをビルドすると、インストールされたpomにはプロファイルのものはなく、PlatformAのコンテンツをpomにマージするだけです。
問題は、サービスがjarを使用する場合、サービスは正しいプロファイルをアクティブにするためにmvnコマンドラインにプロファイル部分を追加する必要があることです。 – DeepNightTwo
あなたは何を意味するのか分かりません。 jarは "サービス"の実行時(プロダクションモード)でビルドされていますか? 「サービス」とは何ですか? – JimHawkins