问题标签 [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 投票
2 回答
982 浏览

java - 在 JavaPoet 中将数组作为注释参数的值传递

使用JavaPoet我试图用一个具有数组作为参数值的注释来注释一个类,即

我使用AnnotationSpec.builder及其addMember()方法:

0 投票
1 回答
438 浏览

javapoet - JavaPoet - 如何向字段添加注释?

谁能告诉我如何使用 JavaPoet 向字段添加注释?

到目前为止,我设法探索的所有示例都是关于向类和方法添加注释。

看起来我在这里遗漏了一些非常简单的东西。

0 投票
2 回答
391 浏览

java - 在 JavaPoet 中使用继承的聪明方法

我正在尝试以这种方式构建一个类(使用 JavaPoet lib):

凡“父亲”的领域可以是什么。我尝试使用将 NULL 放入其中,但它以这种方式给出了异常。没有一个聪明的方法来写它吗?

我可以写类似的东西

但这不会很好。有什么建议吗?

0 投票
1 回答
119 浏览

java - Javapoet:用更少的代码写同样的东西(addModifiers)

所以,我有这段代码(使用 Javapoet Lib):

我希望它变成这样:

问题出在哪里?如果我写myBeautifulBoolean?Modifier.FINAL:null,我会得到一个异常,因为 addmodifiers() 的参数不能为空,并且没有像 Modifier.NOTFINAL 这样的东西

那么,有没有办法告诉代码“Ehi,如果布尔值是真的,添加一个参数,如果不是,不要”?

0 投票
1 回答
586 浏览

android - 注释处理器:初始化一个字段

我正在android中编写一个注释处理器,它生成一个java文件。我正在JavaPoet为此使用图书馆。

生成文件的目的:它应该有一个带有我的处理器支持的特定注释的类的名称列表,并提供一个公共方法来获取该列表。

现在,我已经生成了文件:

现在,问题是:如何names从处理器初始化字段?Javapoetapi 为字段提供了一个,initializer但只接受一个字符串。在我的处理器中,我列出了具有我支持的注释的类。我想用那个列表填充这个字段。

0 投票
1 回答
458 浏览

java - JavaPoet - 异常意外

所以,我正在制作一个程序,它采用类图,并使用 JavaPoet 将其转换为 Java 代码。

类 Diagram 不是用 UML 编写的,它已经在程序内部用 java 建模。

这是给我带来问题的代码部分:(解析类中的所有属性,将它们添加到新的源代码中,如果缺少则添加 Setters/Getters)

我在最后一行得到以下异常:

这是我发布的代码->

我真的不明白为什么。

我尝试调试,在 NULL 处找不到任何东西。我如何找到问题?

完整代码 - 类模型(省略的部分是 getters/setters)

完整代码 - 导出命令:

0 投票
1 回答
299 浏览

java - Java注解处理:在其他生成代码中引用生成类型

我的注释处理器应该生成这些接口:

B使用正确的导入语句编译得很好。IB但是,错过了参数IA a。我使用javapoet生成接口。编译方法参数的代码:

method是一个ExecutableElementp.asType()仅包含简单的名称IA。此时,IA可能尚未生成,因此没有可用的完全限定名称。

目前,我为每个带注释的类一个一个地生成接口。据我了解,我首先需要一个所有带注释的类及其派生接口名称的列表。然后,当我遇到尚未生成类型的参数时,从上面的列表中获取完全限定名称以插入正确的导入语句。

有没有聪明的方法来做到这一点?我至少可以将尚未编译的类型与已编译的类型区分开来吗?

编辑:完整代码

0 投票
1 回答
364 浏览

java - 如何强制 Javapoet 创建 UTF-8 Java 源代码?

有没有办法将 a 写入com.squareup.javapoet.JavaFile文件系统并确保文件始终使用 编码UTF-8

目前我正在使用com.squareup.javapoet.JavaFile#writeTo(java.io.File dir),但这使用当前虚拟机的默认编码。

0 投票
1 回答
887 浏览

java - 如何使用 javapoet 生成 Class 参数?

我需要为枚举类生成下一个 java.class 参数:

我没有找到 - 如何制作这个字段。

我生成此类的代码:

0 投票
0 回答
781 浏览

java - 为什么注释处理器不生成代码?

我有简单的注释处理器。

他调用generateEnum:

但这不起作用!在另一个项目中,我正在构建项目并查看信息消息:在此处输入图像描述但未生成类。如果我在主方法的主类中运行生成代码一切正常!我做错了吗?