プロが教えるわが家の防犯対策術!

Windows、Java7、Eclipseの環境で開発をしております。

とある膨大なパッケージ、クラスを持つプロジェクトがあるのですが、
管理が届かずに参照切れを起こし、不要となっているpublicなクラスがちらほらあります。

これを全て抽出したいのですが、
プロジェクト内でどこからも参照されないクラスを全て抽出する方法はあるでしょうか?

A 回答 (2件)

ソースコードを解析するツールにて、使用していない箇所を報告してくれる機能があります。


Eclipse のプラグイン形式で使えるものならば、以下がそのものズバリでした。
http://www.ucdetector.org/
Eclipse Marketplace から導入できる様です。

プロジェクト単位で "detect unnecessary code" を実行すれば、
使用されていないクラスやメンバの一覧を表示してくれます。

ただし、ソースコードだけでは単純なクラス呼び出ししか解析できないので、
以下の様な事情があっても考慮されませんのでご注意ください。

* アプリケーションの入り口 (例: main 関数があるクラス)
* リフレクション経由でクラスを読み込む
* プロジェクト外から呼び出されるクラスがある
* 依存性の注入(DI)という概念で制御されている
* ミドルウェア製品から呼び出される (例: HttpServlet)
    • good
    • 0
この回答へのお礼

ドンピシャな気がします。絞り込めれば良いので解析から漏れても問題無いです!

お礼日時:2015/07/10 09:13

これは簡単なようで難しいです。



1つの方法としては、呼び出されるとフラグを上げることですが、
エラールーチンなどは100%通るとは限りません。
エディター上で、メインルーチン側のコードを1つずつ文字検索する
のが原始的なようで、一番確実でしょう。
    • good
    • 0
この回答へのお礼

ハゲる思いで全検索をするということで残念です。。

お礼日時:2015/07/09 20:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています