問題タブ [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 - 注釈処理ツール <- 有効な注釈のチェック
私は持っている
そして、APT を使用してインデックス番号が一意かどうかを確認する必要があります。これを行う方法がわかりません。私はチュートリアルを理解していません。一般に、ネット上で資料を見つけるのに問題があります。
これを行う方法?APT に関するチュートリアル/何かありますか?
android - RequestFactory インターフェイス検証の問題
共有フォルダーを持つ Android Connected AppEngine プロジェクトで RequestFactory を使用しています。Eclipse AnnotationProcessor (インターフェースの検証を行う) は、AppEngine プロジェクトでは正常に機能しますが、Android プロジェクトの MyRequestFactoryDeobfuscatorBuilder.java クラスを生成しません。プロジェクトをビルドしても何もしないようです。私のプロジェクト プロパティはhttp://code.google.com/p/google-web-toolkit/wiki/RequestFactoryInterfaceValidationで説明されているようなものです。
私の質問: インターフェイス検証が機能しない理由をどのように取得できますか? ログまたは「問題」の下には何もありません。
java - 注釈プロセッサの jar 依存関係を解決できません
外部jarに依存する注釈プロセッサがあります-lib.jar プロセッサをjarとしてパッケージ化し、クライアントのコンパイル中に使用しています。クライアントのコンパイルがこのメッセージで失敗し始めたときに lib.jar を導入するまで、問題なく動作していました。
クライアントのクラスパスに lib.jar を配置しようとしましたが、役に立ちませんでした。私は何が欠けていますか?
java - Javaジェネリックス:実行時にジェネリック型にアクセスする
実行時に宣言されたフィールドの汎用タイプにアクセスしようとしています。以前は、Java型消去のためにこれが不可能であるという印象を受けていました。ただし、よく知られているフレームワークの中には、実行時にリフレクションを介してジェネリック型を利用するものがあるため、これが当てはまらない場合があります。
例として、Guiceは指定したジェネリック型に基づいてプロバイダーを実装します。
リフレクションAPIを介して、フィールドの「SomeType」ジェネリック属性またはそのようなタイプ/メソッドなどにどのようにアクセスしますか?
さらに、Java 6 AnnotationProcessorAPIを介してこれらのジェネリック型属性にアクセスする方法も知っておくと役に立ちます。
ありがとう。
編集:
素晴らしいポインタをありがとうございました。ヘイレムのリンク、特にPrenkovの記事Java Reflection:Genericsへのリンクを使用してこれを行う方法を見つけました。
これが私が探していた答えです:
結果:
fieldArgClass=クラスtest.TypeReflectionExample$SomeType
メソッド、コンストラクター、スーパークラスの拡張機能/実装などについても同じことができます。
彼の投稿が私の質問に直接答えなかったとしても、私をこの解決策に導いたので、私はヘイレムを授与しています。
java - Java 6アノテーションプロセッサでジェネリック型の修飾クラス名を取得する
JDK 6 の Annotation Processing API を使用して小さなコード ジェネレーターを開発していますが、クラス内のフィールドの実際のジェネリック型を取得しようとしています。明確にするために、次のようなクラスがあるとしましょう。
ここに私の注釈プロセッサクラスがあります:
どんなヒントでも大歓迎です!
web-services - Eclipse アノテーション処理で @WebService を生成する
Eclipse Annotation Processing 機能を使用して Web サービス クライアントを生成しています。私のプロセッサは「javax.annotation.processing.AbstractProcessor」を拡張し、それ自体に注釈 (@SupportedAnnotationTypes) を付けて、カスタム注釈のみを処理します。ProcessingEnvironment のファイラーを使用して、@WebService で注釈を付けた新しい ClassB を生成します。
処理中の注釈はカスタム注釈であるため、プロセッサは true を返します。
この @WebService メソッドは、ツール (別の注釈プロセッサ (?) と思われます) によって取得されていないため、仮想の「サービス」フォルダーには表示されないようです。
プロセッサの順序を変更しようとしましたが、効果がありません。
生成されていないその他のクラスは、@WebService で注釈を付けると、仮想の「サービス」フォルダーにすぐに表示され、それを使用してテスト クライアントを実行できます。生成した ClassB が Web サービスとして検出されません。
仮想の「サービス」フォルダーにWebサービスが表示されるときに、生成されたクラスを検出する方法はありますか?
これはすべて、Java EE Web プロジェクトで行われています。
使用: Rational Application Developer バージョン: 8.0.4 iFix1 (ビルド ID: RADO804iFix1-I20120127_2338)、Eclipse バージョン 3.6.2。
ありがとう。
android - Android javax.annotation.processing パッケージが見つかりません
次のリンクの例に基づいて、いくつかの注釈処理を行いたいと思います: http://www.zdnetasia.com/writing-and-processing-custom-annotations-part-3-39362483.htm。
ただし、これを Android プロジェクトに実装したいのですが、Android プラットフォームではパッケージを使用できないようです。外部 jar を追加する必要がありますか、それとも足りないものがありますか?
ありがとう。
java - EclipseJavaアノテーション処理
Eclipsejdtでアノテーション処理を使用して何かをしたい。
Eclipse jdtaptヘルプは、java/コンパイラ/アノテーション処理設定ページで設定する必要があることを教えてくれます。
しかし、私のインストール(Indigo)では、コンパイラセクションにこの注釈処理サブセクションがありません。ビルド、エラー/警告、javadoc、タスクタグのみがあります。
インストールに問題がありますか?
android - RequestFactory検証の注釈処理のプロパティを設定できません
多くのstackoverflowの質問はにリンクしています
http://code.google.com/p/google-web-toolkit/wiki/RequestFactoryInterfaceValidation#IDE_configuration
これは、「Javaコンパイラ」の下に「注釈処理」プロパティを設定する場所を示しています
しかし、私のEclipse 3.7セットアップには、Javaコンパイラの設定に「注釈処理」のオプションがありません。
なぜですか?
ありがとう。
google-app-engine - Antを使用したデータストアコールバックを持つAppEngineプロジェクトをコンパイルします
AppEngineプロジェクトにデータストアコールバックを実装し、リンクに示されているようにEclipseでセットアップしました。
現在、Antでコンパイルするのに問題があります。これが私が今javacターゲットのために持っているものです:
aptタスクは実行されますが、実行されるのは、PrePutアノテーションを含む、プロセッサを持たないアノテーションの束を一覧表示することだけです。
factorypathrefを${appengine.folder}/lib/impl/appengine-api.jarに設定しようとしましたが、appengine-api.jar参照が見つからないと表示されます(パスが存在することを確認しました)。また、jarファイルを調べて、ファクトリとして使用しているクラスを見つけることができるかどうかを確認しましたが、まだ見つけていません。