私の Java プロジェクトでは、現在のパッケージ内のすべてのクラス名をリストする必要があります。通常、アプリケーションを次の 2 つの異なるモードで実行します。<1> NetBeans から、<2> NetBeans によってパッケージ化された実行可能 jar ファイルから。
私の質問は、実行中のモードに関係なく、アプリ内のすべてのクラス名をリストできるようにプログラムを作成する方法です。NetBeans モードで実行すると、src/ ディレクトリを調べてクラス名を一覧表示できますが、別のマシンでパッケージ化された実行可能 jar ファイル モードで実行すると、src/ ディレクトリが存在しないため、 jar エントリを一覧表示してクラス名を見つけようとしましたが、まだ jar 化されていないため、NetBeans で実行すると機能しません。
どのモードで実行されているかを検出して別の方法で処理できることはわかっていますが、どのモードで実行されているかを知らずにそれを行うより良い方法はありますか?
次のアプローチで問題が解決するかどうか疑問に思います:
http://snippets.dzone.com/posts/show/4831
getClasses(".") を試して現在のパッケージのクラスを取得しましたが、機能しませんでした。なぜですか?
フランク