2

タイトルの通りですが、何か対処法はありませんか?2 つの別々のサード パーティ ライブラリをインポートしましたが、完全修飾クラス名が競合しています。

現在、両方のライブラリが jar 形式でインポートされており、一部の環境 (コマンド ライン呼び出し、Eclipse) では正しいクラスが見つかり、他の環境 (Maven) では間違ったクラスが見つかり、不足しているメソッドの例外が発生するようです。解決策が見つからない場合は、これらのライブラリの 1 つをリファクタリングして jar を再構築することにフォールバックできますが、ライブラリが更新されるたびにその作業を繰り返す必要はありません。

編集: 誰かが後でこれを見て混乱した場合、すべてのコードを記述する前にこの問題をキャッチするのに十分なほど勤勉であれば、これが正しい方法であるため、Dave Newton の回答を受け入れました。私が思ったように、すべてのコードを書いた後にインポートを自動的に修正することは不可能のようです。

4

1 に答える 1

1

日よけをするか、それらをばらばらにして、だまされたものを取り除くか、または...

複数の実装がある場合、重複を軽減するための積極的な措置を講じない限り、クラスローダーに翻弄されます。

この SO questionでのさらなる議論。

于 2012-10-10T15:32:03.177 に答える