3

以前のコンパイルで構築された何百ものクラス ファイルでいっぱいのディレクトリがあります。生成されたクラス ファイルの小さなサブセットのみに依存するクラスがあるとします。特定のクラスの依存関係のみを持つ JAR を作成することは可能ですか?

編集:ライブラリ レベルの依存関係 (つまり、JAR) について話しているのではないことに注意してください。上記の依存関係について言及する場合、クラス A がクラス B を呼び出した結果として生じる一種の依存関係について言及しています。プロジェクトに次のクラスがあるとします。

public class A {
    B bField;
}

public class B {
    C cField;
}

public class C {
    B bField;
}

ここで、クラス B で JAR を作成したいとします。JAR には C のクラス ファイルも含める必要があります。これは、一方が他方に依存しているためです。クラス A から JAR を構築したい場合、3 つのクラスすべてが含まれます。この依存関係チェーンを調べて、その結果で JAR を構築する方法はありますか?

4

2 に答える 2

3

ProGuardなど、いくつかの製品でこれを行うことができます。

危険なのは、徹底的なランタイム分析、またはコードとそれが使用するフレームワークの十分な理解がなければ、一部のクラスがリフレクションを介してインスタンス化されている場合に見逃される可能性があることです。プラグイン システム、依存関係の挿入、スクリプトなどはすべて、静的分析の精度を妨げる可能性があります。

于 2012-06-01T20:53:37.050 に答える
0

はい、可能です。含めたいクラスのリストを含むファイルを作成し、そのファイルを jar コマンドに渡すことができます。詳細はこちらに記載されています。

于 2012-06-01T20:40:15.983 に答える