誰かが私を解決するのを手伝ってくれるのではないかと思う問題があります。プロジェクトにMavenを使用して依存関係を解決するモジュール構造があります。この構造では、分類子を使用して区別する内容が異なるバージョンがあります。分類子ごとに、プロパティの分類子の文字列を使用して親pomにプロファイルを定義しました。このように私のモジュールではこのプロパティを使用し、分類子定数を決定するのは私が定義したプロファイルです。私が今立ち往生している問題は、依存関係がモジュールの1つのpomで定義したものから継承されているときに、依存関係階層が分類子を認識しないことです。たとえば、プロジェクトA、B、Cがある場合、BはAに依存し、CはBに依存します。Cから、分類子でBを取得しますが、Aでは取得しません。これは、親pomのプロパティを使用した場合に発生します。代わりに定数文字列を直接使用すると、依存関係が正しくキャッチされます。私が見る唯一の解決策は、各pomでプロファイルを使用して、それらの内部の依存関係を定義することです。しかし、私は5つのプロファイルを持っています!これを解決する他の方法はありませんか?IDEとしてm2eプラグインを備えたSTS3.8を使用しています。
前もって感謝します!
ポンポンを追加します
親pom:
<profiles>
<profile>
<id>TRUNK</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<svnBranch />
</properties>
</profile>
<profile>
<id>MON</id>
<properties>
<svnBranch>MON</svnBranch>
</properties>
</profile>
<profile>
<id>LOLA</id>
<properties>
<svnBranch>LOLA</svnBranch>
</properties>
</profile>
<profile>
<id>NBA</id>
<properties>
<svnBranch>NBA</svnBranch>
</properties>
</profile>
<profile>
<id>TEST</id>
<properties>
<svnBranch>TEST</svnBranch>
</properties>
</profile>
<profile>
<id>PROD</id>
<properties>
<svnBranch>PROD</svnBranch>
</properties>
</profile>
</profiles>
プロジェクトA:
<parent>
<groupId>com.myproject</groupId>
<artifactId>pom</artifactId>
<version>1.0.10</version>
</parent>
<artifactId>core-services</artifactId>
<version>1.1.0.41-SNAPSHOT</version>
プロジェクトB:
<parent>
<groupId>com.mycompany</groupId>
<artifactId>pom</artifactId>
<version>1.0.10</version>
</parent>
<artifactId>olb-services</artifactId>
<version>1.1.0.41-SNAPSHOT</version>
<properties>
<module.core-services.dependency.version>1.1.0.41-SNAPSHOT</module.core-services.dependency.version>
</properties>
<dependencies>
<dependency>
<groupId>com.mycompany</groupId>
<artifactId>core-services</artifactId>
<version>${module.core-services.dependency.version}</version>
<classifier>${svnBranch}</classifier>
</dependency>
</dependencies>
プロジェクトC:
<parent>
<groupId>com.mycompany</groupId>
<artifactId>pom</artifactId>
<version>1.0.10</version>
</parent>
<artifactId>nba-services</artifactId>
<version>1.1.0.41-SNAPSHOT</version>
<properties>
<module.olb-services.dependency.version>1.1.0.41-SNAPSHOT</module.olb-services.dependency.version>
<module.core-services.dependency.version>1.1.0.41-SNAPSHOT</module.core-services.dependency.version>
</properties>
<dependencies>
<dependency>
<groupId>com.mycompany</groupId>
<artifactId>olb-services</artifactId>
<version>${module.olb-services.dependency.version}</version>
<classifier>${svnBranch}</classifier>
</dependency>
<dependency>
<groupId>com.mycompany</groupId>
<artifactId>core-services</artifactId>
<version>${module.core-services.dependency.version}</version>
<classifier>${svnBranch}</classifier>
</dependency>
</dependencies>
各依存関係の分類タグで${svnBranch}を使用しても機能しません。プロジェクトBでは、プロジェクトCによって参照されている場合、プロパティ$ {svnBranch}は空ですが、親pomから取得されているように見えます。