问题标签 [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 类生成 Agenerated 类。我希望能够做类似的事情

为此,我必须指定返回类型,即我正在编写的当前类......有没有办法这样做?

0 投票
1 回答
891 浏览

java - JavaPoet - 获取泛型类型

我正在玩注解处理器和 JavaPoet。我有一个用@MyAnno 注释的方法:

我想生成一个有方法的类:

到目前为止我所做的是:

这给了我:

如何只获得 MyClass?

0 投票
2 回答
1667 浏览

java - javapoet如何创建静态导入

如何使用 JavaPoet 创建静态导入?

我试图生成的代码如下所示:

0 投票
1 回答
2320 浏览

javapoet - 如何在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 - JavaPoet adding a list of enum constants

Is there a way to add a dynamic list of EnumConstants - I would expect to see addEnumConstants().

There seems to be no parallel to addFields() or addMethods()?

0 投票
3 回答
1208 浏览

android - 如何在 MethodSpec 的 JavaPoet 的 methodBuilder 中获取无法在构建器中应用的 Modifier.PUBLIC 的引用

尝试在 LeakCanary 的 Android ActivityWatcher 类中实现基本的 JavaPoet 示例(见下文):

Modifier.PUBLIC 和 Modifier.STATIC 以及其他 .addModifiers 语句产生 Android Studio 错误

Builder中的addModifiers(javax.lang.model.element.modifier...)不能应用于(int, int)

和以下梯度错误:

C:\AAAMachine\Machine-master\Machine-android\src\main\java\com\bmp\ActivityWatcher.java:58: 错误:无法访问修饰符 .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) ^ required: Modifier[] found: int,int reason: varargs mismatch; int 无法转换为修饰符 C:\AAAMachine\Machine-master\Machine-android\src\main\java\com\bmp\ActivityWatcher.java:73: error: cannot access 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[] found: int,int reason: varargs mismatch; int 无法转换为修饰符 C:\AAAMachine\Machine-master\Machine-android\src\main\java\com\bmp\ActivityWatcher.java:179:错误:类 Builder 中的方法 addModifiers 不能应用于给定类型;.addModifiers(Modifier.PUBLIC, Modifier.FINAL) ^ required: Modifier[] found: int,int reason: varargs mismatch; int 无法转换为修饰符 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 Error:(58, 15) error: cannot access Modifier class file for javax.lang.model.element.Modifier未找到错误:(65, 15) 错误:类 Builder 中的方法 addModifiers 不能应用于给定类型;必需:修饰符 [] 找到:int,int 原因:可变参数不匹配;int 无法转换为修饰符错误:(73、19)错误:无法访问 javax.annotation.processing.Filer 的 Filer 类文件未找到错误:(172、15)错误:类 Builder 中的方法 addModifiers 无法应用于给定类型; 必需:修饰符 [] 找到:int,int 原因:可变参数不匹配;int 无法转换为修饰符错误:(179, 15) 错误:类 Builder 中的方法 addModifiers 无法应用于给定类型;必需:修饰符 [] 找到:int,int 原因:可变参数不匹配;int 无法转换为修饰符错误:(187, 19) 错误:无法访问 java.nio.file.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 回答
3031 浏览

java - 如何解析未知类并且无法解析Android Studio java库模块中的符号

使用 Android Studio 并创建一个 java 库模块作为子项目的一部分,我在以下 java 语句中收到错误:

它抱怨无法解析符号“writeTo”和未知类“System.out”。

这是源代码类的要点

0 投票
1 回答
856 浏览

java - Javapoet:引用其他生成的类

JavaPoet:版本 1.5.1

JDK:1.7

我正在使用注释来生成代码。这是我正在尝试的东西。

以下是项目的一部分:

以下旨在通过上述注释创建:

直到编译AService并且AController不存在。

我可以包含@Autowired注释。但是,我如何将AService其作为类型引用AController