2

カスタム AnnotationProcessor を作成しており、実行中に javac に設定されたオプションにアクセスする必要があります: -verbose、-s、-d など

これを行う正しい方法は何ですか。「sun.java.command」システム プロパティの解析や com.sun.tools.javac.util.Options へのアクセスは、これを行う良い方法だとは思いません。

どうもありがとう。

PS: -s オプションの場合は次のようになります。

JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
StandardJavaFileManager fm = compiler.getStandardFileManager(null, null, null);
Iterable<? extends File> locations = fm.getLocation(StandardLocation.SOURCE_OUTPUT);
4

1 に答える 1

0

これを行うためのパブリックAPIはありません。「-s」および「-d」オプションの効果は、プロセッサが直接調べる必要のあるものではなく、ファイラーの動作に反映される必要があります。

プロセッサ固有のオプションは、「-Afoo = bar」を使用して渡すことができます。これは、getOptionsメソッドから照会できます。

于 2012-11-05T10:47:30.607 に答える