1

私のプロジェクトでは、多くの依存関係の .jar ファイルを参照しています。

/lib/xxx.jar /lib/abc.jar

いくつかの (com.search.hit) パッケージを含む xxx.jar ファイル。同じパッケージが abc.jar ファイルで利用できます。

フローをリダイレクトする方法を誰か教えてもらえますか?

4

4 に答える 4

0

Eclipse で、プロジェクトのビルド パス構成に移動し、[ライブラリ] タブをクリックします。次に、アクセスしたくないパッケージをリストから削除して、再度追加します。

これにより、パッケージの優先度リストが低くなり、再追加したばかりのパッケージの前に他のパッケージがチェックされます。

于 2013-07-01T08:11:48.433 に答える
0

クラスパスで最初に来る jar のクラスが使用されます。クラスローダーに関する限り、もう1つは存在しない可能性さえあります。このような衝突は避けるのが賢明です。

于 2013-07-01T08:10:05.360 に答える
0

これにより、問題が発生します。私の提案は、これらの jar ファイルの getter および setter ラッパーを作成するための 2 つの追加クラスを作成することです。2 つの別個のクラスを記述します。それぞれが 1 つだけを参照し、プロジェクト ファイルはこれらのラッパー クラスを使用してこれらの jar から関数を呼び出します。その方がはるかに簡単でしょう。

于 2013-07-01T08:12:38.720 に答える
0

パッケージ名を変更する必要があります。単一の JVM で同じパッケージと同じファイル名にすることはできません。JVM は、クラス ローダーを使用して 1 つの jar クラスをランダムに読み込み、残りを無視します。

于 2013-07-01T08:12:47.403 に答える