問題タブ [javapoet]

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.

0 投票する
1 に答える
293 参照

code-generation - javapoet現在生成されているインスタンスを戻り値として指定する方法

注釈付きの A クラスから A generated クラスを生成する注釈プロセッサを作成しています。次のようなことができるようになりたいです

そうするために、私が書いている現在のクラスである戻り値の型を指定する必要があります...そうする方法はありますか?

0 投票する
2 に答える
1667 参照

java - javapoet 静的インポートを作成するにはどうすればよいですか

JavaPoet を使用して静的インポートを作成するにはどうすればよいですか?

生成しようとしているコードは次のようになります。

0 投票する
1 に答える
726 参照

java - javapoetのJavaクラスに静的セクションを追加する方法

javapoetライブラリを使用して静的コードブロックをJavaクラスに追加する方法はありますか

0 投票する
2 に答える
5551 参照

java - javapoet - 「拡張」と「実装」の実装方法

Javapoet を使用して、以下を実装する方法:

  1. クラス A はクラス B を拡張します

  2. クラス C はインターフェイス D を実装します

javadoc には、インターフェースの作成方法が記載されています。

0 投票する
2 に答える
1182 参照

java - enum定数のリストを追加するJavaPoet

EnumConstants の動的リストを追加する方法はありますかaddEnumConstants()?

addFields()またはaddMethods()?に匹敵するものはないようです。

0 投票する
3 に答える
1208 参照

android - MethodSpecのmethodBuilder for JavaPoetでビルダーに適用できないModifier.PUBLICへの参照を取得する方法

LeakCanary の Android ActivityWatcher クラスに基本的な JavaPoet の例 (以下を参照) を実装しようとしています。

Modifier.PUBLIC と Modifier.STATIC、およびその他の .addModifiers ステートメントで Android Studio エラーが発生する

Builder の addModifiers (javax.lang.model.element.modifier...) は (int, int) に適用できません

および次のgradleエラー:

C:\AAAMachine\Machine-master\Machine-android\src\main\java\com\bmp\ActivityWatcher.java:58: エラー: Modifier .addModifiers(Modifier.PUBLIC, Modifier.STATIC) にアクセスできません ^ javax のクラス ファイル.lang.model.element.Modifier が見つかりません C:\AAAMachine\Machine-master\Machine-android\src\main\java\com\bmp\ActivityWatcher.java:65: エラー: クラス Builder のメソッド addModifiers を適用できません与えられた型; .addModifiers(Modifier.PUBLIC, Modifier.FINAL) ^ 必須: Modifier[] が見つかりました: int,int 理由: varargs の不一致。int は Modifier C:\AAAMachine\Machine-master\Machine-android\src\main\java\com\bmp\ActivityWatcher.java:73: error: Filer にアクセスできません javaFile.writeTo(System.out); に変換できません。^ javax.annotation.processing.Filer のクラス ファイルが見つかりません C: \AAAMachine\Machine-master\Machine-android\src\main\java\com\bmp\ActivityWatcher.java:172: エラー: クラス Builder のメソッド addModifiers を特定の型に適用できません。.addModifiers(Modifier.PUBLIC, Modifier.STATIC) ^ 必須: Modifier[] が見つかりました: int,int 理由: varargs の不一致。int を Modifier C:\AAAMachine\Machine-master\Machine-android\src\main\java\com\bmp\ActivityWatcher.java:179: エラー: クラス Builder のメソッド addModifiers を特定の型に適用できません。.addModifiers(Modifier.PUBLIC, Modifier.FINAL) ^ 必須: Modifier[] が見つかりました: int,int 理由: varargs の不一致。int を Modifier C:\AAAMachine\Machine-master\Machine-android\src\main\java\com\bmp\ActivityWatcher.java:187: エラー: パスにアクセスできません javaFile.writeTo(System. アウト); ^ java.nio.file.Path のクラス ファイルが見つかりません 注: C:\AAAMachine\Machine-master\Machine-android\src\main\java\com\bmp\internal\MachineInternals.java は非推奨の API を使用またはオーバーライドします。注: 詳細については、-Xlint:deprecation を使用して再コンパイルしてください。注: 一部のメッセージは簡略化されています。-Xdiags:verbose を使用して再コンパイルし、完全な出力 6 エラーを取得します

失敗した

FAILURE: ビルドは例外で失敗しました。

  • 問題: タスク ':Machine-android:compileDebugJava' の実行に失敗しました。

    コンパイルに失敗しました。詳細については、コンパイラ エラー出力を参照してください。

  • 試してみてください: --stacktrace オプションを指定して実行し、スタック トレースを取得します。--info または --debug オプションを指定して実行し、より多くのログ出力を取得します。

ビルドに失敗しました

合計時間: 6.881 秒

メッセージからのエラーは次のとおりです。

C:\AAAmachine\machine-master\machine-android\src\main\java\com\bmp\ActivityWatcher.java エラー:(58, 15) エラー: javax.lang.model.element.Modifier の Modifier クラス ファイルにアクセスできません見つかりません エラー:(65, 15) エラー: クラス Builder のメソッド addModifiers は、指定された型に適用できません。必須: Modifier[] が見つかりました: int,int 理由: varargs の不一致。int を Modifier に変換できません エラー:(73, 19) エラー: javax.annotation.processing.Filer の Filer クラス ファイルにアクセスできません エラー:(172, 15) エラー: クラス Builder のメソッド addModifiers を特定の型に適用できません; 必須: Modifier[] が見つかりました: int,int 理由: varargs の不一致。int は修飾子エラーに変換できません:(179, 15) エラー: クラス Builder のメソッド addModifiers は、指定された型に適用できません。必須: Modifier[] が見つかりました: int,int 理由: varargs の不一致。int は修飾子エラーに変換できません:(187, 19) エラー: java.nio.file.Path の Path クラス ファイルにアクセスできません 注: C:\AAAmachine\machine-master\machine-android\src\main\java \com\bmp\internal\machineInternals.java は非推奨の API を使用またはオーバーライドします。注: 詳細については、-Xlint:deprecation を使用して再コンパイルしてください。注: 一部のメッセージは簡略化されています。-Xdiags:verbose を使用して再コンパイルし、完全な出力を取得します エラー: タスク ':machine-android:compileDebugJava' の実行に失敗しました。

コンパイルに失敗しました。詳細については、コンパイラ エラー出力を参照してください。情報:BUILD FAILED 情報:合計時間: 6.881 秒 情報:7 エラー 情報:0 警告 情報:コンソールで完全な出力を参照

以下は、JavaPoet の readme.md ファイルの基本的な例を使用したソース コードの要点です。

書き込む物理ファイル名と関係あるのでしょうか?

0 投票する
1 に答える
856 参照

java - Javapoet: 生成された他のクラスの参照

JavaPoet: バージョン 1.5.1

JDK: 1.7

注釈を使用してコードを生成しています。ここに私が試していることがあります。

以下は、プロジェクトの一部として利用できます。

以下は、上記の注釈を使用して作成することを目的としています。

コンパイルされるまで存在AServiceAControllerません。

@Autowired注釈を含めることができます。しかし、どのようにAService型として参照するのAControllerですか?