1

Java アプリケーションによってロードされた/使用されていないクラス (Sun JDK 以外のクラス) をどのように判断しますか?

背景:
多くのコード変更を経 たlegacyJava Webstart アプリケーションがあり、現在は多くのクラスがあり、そのほとんどは使用されていません。すべてのパッケージを jar するのではなく、使用するクラスのみをデプロイすることで、アプリケーションのダウンロード サイズを減らしたいと考えています。

また、同じプロセスを使用して、これらの未使用のクラスを完全に削除します。

4

2 に答える 2

2

を使用java -verbose:classして、ロードされているクラスを確認してから、grep(またはその他のツール)を使用して、パッケージの行のみを保持します。

小さな制限:使用時に実際に使用されるクラスのみが通知されるため、アプリケーションのすべてのユースケースをカバーする必要があります。

于 2010-01-05T07:39:33.123 に答える
2

そのためには、優れた IDE を使用できます。

たとえば、依存関係についてソースコードを分析し、クラス/メソッド/属性を安全に削除できるようにするIntellij IDEAは、他では使用されていません。

そうすれば、デッド コードをすべて取り除くことができます。

于 2010-01-05T07:38:41.717 に答える