2017-03-03 4 views
0

の異なるバージョンを使用することができます。 moduleAはmoduleBを依存関係として使用します。私は主にこの問題を回避するためにmoduleBを作成しました。また、コードをうまく整理しておくと思いました。Mavenは - 2つのモジュールが、私は、各モジュールは同じライブラリの異なるバージョン(v1とv2)にアクセスしたい2つのMavenのモジュール(moduleAとmoduleB)、とJavaプロジェクトを持っている同じライブラリ

私はモジュールAのpom.xmlにmaven shadeプラグインを使用していますが、各バージョンからクラスを区別するのに役立つと思っていますが、そのメソッドはライブラリのv2バージョンで利用できますが、 "NoSuchMethodError"どんな助けも高く評価されます。

+1

でのJavaへの同じライブラリの2つの異なるバージョンをロードしようとする場合は、であなたのライブラリーの2つのバージョンを持つことができませんランタイム。互換性がない場合は、バージョンを選択してそれに固執する必要があります。 – Tunaki

+0

これに見て:http://stackoverflow.com/questions/4827335/different-versions-of-the-same-dependency-in-maven –

+0

あなたは、ライブラリのパッケージの名前を変更するのMaven-シェード・プラグインを使用する必要がありますモジュールAまたはモジュールBのいずれかにあります。ライブラリが独自のクラスにアクセスするためにReflectionなどを使用しない場合にのみ機能します。 – mihi

答えて

0

私はこれが働くことができるとは思わない:名前空間の衝突があるように起こっているあなたは1時間

関連する問題