3

Eclipse JDT AST 解析クラスを使用しようとしています。最初の JAR を含め、さらにいくつかの依存関係を整理した後、それは 7 つ以上の JAR であり、まだ NoClassDefFoundError 例外があります。この状況は、ドキュメントがほとんどまたはまったくないライブラリをテストしようとすると常に発生します。試行錯誤は、この問題を解決するための非常にばかげた (そして厄介な) アプローチのようです。

Eclipse を使用してこれを自動的に整理する方法はありますか?


更新:後で、持っているすべての JAR を追加し、Ctrl-T (タイプを表示/検索するため) を使用すると、JAR を手動で見つけることができることがわかりました。それが、これまで Google が提供してきたソリューションでした。より良い方法はありますか?

4

3 に答える 3

5

この SO の質問Finding unused jars used in an eclipse projectを参照すると、次のものもあります。

ClassPathHelper、未解決のクラスにすばやく集中できます。

未解決

孤立した jar、ブロックされた (隠蔽された) クラスなどを自動的に識別します。

唯一の制限は、依存性注入フレームワーク構成ファイルなど、クラスで定義されていない依存性です。

于 2009-01-26T05:00:38.190 に答える
1

Eclipseのソースコードを閲覧するためだけにワークスペースを設定すると、非常に便利です。このようにして、プラグインスパイ、バンドル依存関係分析、ドキュメントの閲覧などのPDEツールを、独自のプラグインプロジェクトと同じように使用できます。Vogellaでのこの記事は非常に便利なガイドだと思いました。

目的のクラスがどのバンドルであるかがわかっている場合は、単一のバンドルのみを選択して、新しいOSGi起動構成を作成することにより、依存関係の推移閉包を生成できます。ボタンを押すAdd Requiredと、興味のあるバンドルを使用するために必要なすべてのバンドルを確認できます。

編集

  • あなたの質問から、コンパイラーを実行したい環境が明確ではありませんでした。OSGi環境の外で実行される組み込み可能なJavaコンパイラーに興味がある場合は、Janinoをお勧めします。
于 2009-01-26T15:12:39.013 に答える
0

次のような依存関係アナライザーを使用できます: JarAnalyzer

これにより、Jarsでいっぱいのディレクトリが解析され、XML出力依存関係マップが提供されます。このマップには、グラフィック形式またはテキスト形式で表示するためのツールがいくつかあります。

于 2009-01-26T03:50:38.813 に答える