2008-09-16 4 views
8

不要なjarファイルを検出するツールはありますか?必要最小限のJavaクラスパスを見つける

例えば、私はmyapp.jarを持っています。これは、hibernate.jar、junit.jar、easymock.jarを含むクラスパスで起動できます。しかし、実際には、junit.jarを呼び出すコードに到達できないため、hibernate.jarだけを使用するとうまく動作します。

反射は物事を複雑にする可能性があることを私は認識しますが、私は反射を無視したツールで暮らすことができました。それ以外は、解決するのは比較的簡単な問題のようです。

このようなツールがない場合、どの依存関係が必要かを判断するためのベストプラクティスは何ですか?それは共通の問題でなければならないと私には思われます。

答えて

3

リフレクションを使用するシステムでは、これはできません。

つまり、ANYリフレクションを使用しないと、静的解析ツールはかなり良い仕事をすることができます。

2

あなたはDependency Finderを見ましたか?

http://depfind.sourceforge.net/

他の使用可能なJava依存ツールのほとんどの便利なリストは、そのサイトでも入手可能です。

1

私は

http://code.google.com/p/jarjar/

を使用して、それはかなり良いことがわかってきました。

また、ユニット/受け入れテストの良いセットがあれば、簡単に反射が壊れているかどうかを確認できます:)。

0

Bill Kさんの返信に何かを追加してください:リフレクションをまったく使用しないかもしれませんが、あなたが使用しているJARがあるかもしれません。 xalan & xercesのようなものに遭遇したことを思い出しました。ここで、実行時にClassNotFoundExceptionがスローされました。

関連する問題