質問

コンパイルされたコードを使用してコードを生成するツールを書きたい .class 入力としてファイル。具体的には、このクラスファイルから読みたいです。

  • 注釈付きの方法
  • メソッドパラメーター、注釈付き

入力クラスファイルは、ツールのClassPathにないいくつかのタイプを参照する可能性があります。これは大丈夫です、私は彼らと一緒に何もする必要はありません、ただ資格のあるタイプ名を文字列として読む必要があります。注釈からいくつかの情報を取得する必要がありますが、それらはツールのクラスパスにあります。

この目的のために使用できるライブラリはありますか? APIが反射APIに少し似ている場合はいいことですが、そうである必要はありません。

役に立ちましたか?

解決

ASM http://asm.ow2.org/ クラスを読み込むことなく、ファイル/入力ストリームからクラスを読むことができます。実行時にロードされていない注釈を見ることができます。また、クラスバイトコード/アノテーション/メソッドなどを変更するためにも使用できます。

他のヒント

Javapツール JDKに含まれることは、おそらくあなたが望んでいることをすでにしています。

2つのことを見る必要があります Reflection APIDecompiler

Springクラススキャンを使用できると思います。

ClassPathScanningCandidateComponentProvider provider = new ClassPathScanningCandidateComponentProvider(true);
String basePackage = "org/springframework/samples/petclinic";
Set<BeanDefinition> components = provider.findCandidateComponents(basePackage);
for (BeanDefinition component : components) {
    System.out.printf("Component: %s\n", component.getBeanClassName());
}

詳細については、春を調べてください ドキュメント

私は使用しています ASM すべての方法を見つけるため。

.classファイルの生成にアクセスできる場合は、 反射API 助けることができるはずです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top