問題タブ [annotation-processing]
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 - Java注釈処理:注釈の付いていないクラスの「要素」にアクセスできますか?
Element
Java アノテーション処理 (Java 6 以降) は、インターフェイス (およびその他)を介してクラスやメソッドに関する多くの情報にアクセスできるため、非常に優れた概念です。
しかし悲しいことに、私は経験的に、アノテーションの付いていないクラスがカスタム アノテーション プロセッサに渡されることは決してないことを知る必要がありました。
私の発見は真実ですか?または、コンパイラを「だまして」、カスタム注釈プロセッサに注釈なしのクラスに関する情報も与えることができますか?
java - Java アノテーション処理: ラウンドが最後のラウンドかどうかを知るにはどうすればよいですか?
を拡張する場合AbstractProcessor
、 をオーバーライドする可能性がありますが、すべてのラウンドが処理さinit(...)
れた後に呼び出される「反対の」メソッドはありません。
これは問題です。各ラウンドで収集した情報を同じファイルに追加する必要がある場合、最後のラウンドがいつだったかを知ることができないため、ファイルを閉じることができません。そのため、ファイルは閉じられず、空のままです。
シャットダウン フックを使用しても機能しません。フックは呼び出されません。
何か案は?
java - com.sun.mirror。*パッケージはOSXのどこに行きましたか?
私は現在、aptアノテーションプロセッサを作成しようとしています。ただし、システムで必要なtools.jarが見つかりません。私はOSXを使用しており、デフォルトのJDKをインストールしています。apt関連のクラスはどこにありますか?
java - Java: リフレクション (実行時) とミラーリング (アノテーション処理時)
概念間の一般的な違いを理解しています
- リフレクション(実行時にを使用して実行
Class, Method, Field, Annotation, ...
)、および - ミラーリング(を使用した注釈処理
TypeMirror, TypeElement, ...
中に行われます)。
しかし、誰かが2つの概念を詳細に比較できますか(または、それが行われているリソースを教えてください)?
たとえば、どの概念がどのような情報を提供し、他の概念が提供しないか...
ありがとうございました。
java - javax.lang.model: フィールドの型を取得するにはどうすればよいですか?
ではjava.lang.reflect
、次のようにします。
しかし、javax.lang.model
's VariableElement
(フィールドを表している場合と表していない場合があります) をどうすればよいでしょうか? 対応する戻り値は (推測) になりTypeElement
ます。
では、 で表されるフィールドjavax.lang.model
のタイプ (または ) を取得するにはどうすればよいでしょうか?TypeElement
VariableElement
ところで、javax.lang.model に適合する単一の Stackoverflow-tag はありません;)
java - java 1.6 アノテーション処理時に型パラメータではなく実際の型を取得する
これら2つのクラスが与えられた場合
このコードを注釈プロセッサで実行すると、必要な結果が得られません。
env は ProcessingEnvironment です。entityElement は要素です。(私のクラス)
fieldType が に設定されていKey<Foo_>
ます。
fieldType を に設定するには、何を呼び出す必要がありKey<MyClass>
ますか?
java - maven-processor-plugin の注釈プロセッサの作成
maven-processor-plugin の注釈プロセッサを作成することに興味があります。私はMavenに比較的慣れていません。
プロジェクト パスのどこにプロセッサの Java ソース コードを配置する必要がありますか (例: src/main/java/...)。これにより、適切にコンパイルされますが、アーティファクト JAR ファイルの一部にはなりません。
java - AspectJ織り:アスペクトへの静的参照なしで完全なコード織りを行う方法は?
数週間前、私はJavaクラスのフィールド用にいくつかの文字列定数を作成する方法を探していました-> mavenでクラス属性の定数を生成しますか?
私はそれを働かせました。定数を含むアスペクトを作成し、それらをクラス ファイルに織り込みます。問題は、クライアントが織り込まれたクラスを使用しようとすると NoClassDefFound Exception が発生することです。これには 2 つの理由があります。
ビルド プロセス中にクライアント jar からアスペクト .class ファイルを削除しています
クラスパスにアスペクトライブラリがありません
逆コンパイラを使用して、クラスに次のような静的ブロックがあることがわかりました。
私の質問: クライアント jar の側面を完全に取り除くことができるように、クラス ファイルに実際の "public static final String"-Field を作成するウィーブ プロシージャにオプションはありますか?
前もって感謝します
マーティン
java - Java Annotation Processor からのソース コードへのアクセス
Java Annotation Processor 内から型の実際の元のソース コードにアクセスしようとしています。これはどういうわけか可能ですか?ありがとう!
java - Java Annotation Processor を使用したアノテーションの追加
Annotation Processor は、通常、注釈を使用してそれらに反応するために使用されることを知っています。ただし、この「反応」に他の注釈の追加が含まれるユースケースがあります。これはプロセッサ内で実行できますか? もしそうなら、どのように?