2011-12-07 20 views
4

私はXercesライブラリを含むJavaプロジェクトを持っています。ProGuardの「ライブラリクラスの重複定義」の解決

私はProGuardのでプロジェクトを処理するとき、私は警告を受ける:

Note: duplicate definition of library class [org.w3c.dom.html.HTMLDOMImplementation] 

私はこのクラスが存在することをXercesの中で見て、同じクラスは、JDK 1.6のrt.jar内に存在すること。

ProGuardによって作成されたjarファイルは起動しません(エラー: "Java例外が発生しました")。 この問題を解決するにはどうすればよいですか?どうも!


(注意:私は、NetBeansで動作)

答えて

11

1)のどちらかあなたが

2)それは他のクラスを壊すかもしれないようお勧めされていない(ライブラリーの1からクラスを削除する必要があります)このクラスの瓶を見つけてください。例えば、アプリケーションで使用しているクラスは、いくつかのjarファイルで使用できます。したがって、この競合するクラスが存在しないが、他のクラスが存在する場所(これには時間がかかることがあります)を取得してください。

3)エラーを無視してください。私はそれが何か問題を与えるべきではないと思う。クラスパスの最初のjar発生元に基づいて、クラスが取得されます。

+2

これらのエラーは無視されません。実行時にClassCastExceptionsが発生する可能性があります。アプローチする最善の方法は#1です - クラスがライブラリから削除されるのは、重複しているためです。 –

関連する問題