特定のJavaソースコードファイルに対して、(直接)コンパイルに必要なすべての(完全修飾名)クラスをリストしたいと思います。言い換えれば、ソースコードファイル内のコードによって直接使用される、インポートから来るすべてのクラス、ソースコード内の完全修飾名、およびその他のコンパイル時の意味ですが、リフレクションまたはその他の実行時手段によるものではありません。Javaソースファイル - >コンパイルに必要なクラスのリスト
このリストのJavaコンパイラに「尋ねる」方法はありますか?それを得る他の方法はありますか?
PS:ソースコードファイルにクラスBを使用するコンパイルにクラスAが必要な場合は、コードをコンパイルするためにクラスBが存在する必要がありますが、直接使用するわけではありません。
理論的には、クラス「A」のソースコードを他のクラスから分離してコンパイルを試みることができます。 jdkに含まれていないクラスが見つからなかった場合のすべてのエラーメッセージが表示されます。必要なクラスをソースツリーにコピーし、欠けているクラスに関連するエラーがなくなるまでコンパイルします。完全なソースコードが必要であり、 'java。*'クラスを受け取らないことに留意してください。そして、おそらく時間がかかります – msrd0