0

A と B という 2 つの異なるモジュールがあります。C という別のモジュールもあります。

A は C バージョン 1.0 を使用します

B は C バージョン 2.0 を使用します

問題は、groupId と artifactId の値が C 1.0 と C 2.0 で同じであっても、C 2.0 は下位互換性がないためです。pom.xml でそれらの 1 つを除外して、A と B にもう 1 つを使用することはできません。この場合、除外タグは機能しません。特定のモジュールに依存関係を挿入する必要があります。

この目的で OSGI を使用できることがわかりましたが、機能させることができませんでした。OSGI チュートリアルまたは別のソリューションがあれば、それは素晴らしいことです。

4

2 に答える 2

1

プロジェクト A および/または B の再配置でMaven Shade プラグインを試してください。これにより、プロジェクトに C のクラスが含まれます。また、C は別のパッケージ パスを取得するため、クラスの衝突はもうありません。

于 2014-03-30T09:58:28.293 に答える