問題タブ [java-annotations]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - クラスパスに log4j-core がある場合の「@throws の無効な使用」コンパイル エラー
約 1 週間前にテストでこのエラーが発生し始めました。それはオンとオフを繰り返してきました。
エラーメッセージは少し曖昧だと思います。どのように無効ですか?コードは私には問題ないようです:
Javadoc を個別に実行せずに Javadoc エラーについて調べたいので、コンパイル中に doclint をオンにします。
このエラーは正確には何を意味するのでしょうか? ここで行っていることについて何か無効なことはありますか? コンパイラのバグを調べていますか? 確かに、このようなバグは、メソッドが例外をスローすると宣言しようとした最初の人を襲うでしょう... :(
ここまでの捜査...
- この例を、同じエラーが発生する単純なプロジェクトに切り詰めることができました。Travis CI が Linux で再現できることは別として、私は今日から macOS で再現できます (なぜこれが時間依存なのかわかりません!)。Windows の他のユーザーは数日前からそれについて話してきました。
- このプロジェクトから、Gradle が javac に使用していたコマンドラインを調べたところ、javac を直接呼び出すと同じエラーが表示されました。
javac コマンドラインをさらに削減します。
これは、Gradle がなくても問題が発生することを示しています。(Gradleも追加
-processorpath
し-g
ました。)
java - 注釈プロセッサ:注釈付きクラスが特定のクラスを拡張しているかどうかを知る方法はありますか?
注釈付きクラスの祖先のいずれかが実際に であるかどうかを確認したいandroid.support.v4.app.Fragment
。
現在、私はそれを行うための再帰的な方法を書きました。
これを行うより良い方法があるのだろうか?
主な目的は、注釈がクラスに追加されるのを抑制することです。
私も使っていますsquareup.javapoet
。