- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用javax.annotation.processing.AbstractProcessor生成java代码时
(...)
FileObject file=filer.createResource(StandardLocation.CLASS_OUTPUT,"xx","Hello.java");
PrintWriter writer=new PrintWriter(file.openWriter());
writer.println("package xx;\npublic class Hello { }");
writer.close();
(...)
我应该再次运行 javac 来编译生成的代码,还是有办法告诉 javac 动态编译新类?
最佳答案
如果您使用createSourceFile
方法,那么您的新源代码应该会为您编译。您的“创建”方法应如下所示:
FileObject file = filer.createSourceFile("xx.Hello");
如果某个现有元素“导致”生成此元素,您应该将其作为 originatingElement
添加到 createSourceFile
调用中。
关于javax.annotation.processing.AbstractProcessor : compiling generated code,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29892828/
我的 AbstractProcessor即使带注释的方法包含导致编译器错误的代码,也会调用实现。 (即,处理器由目标为 ElementType.METHOD 的注释的存在触发)。 经过一番试验,我得到
鉴于此注释: @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.ANNOTATION_TYPE) public @interface In
我正在构建一个 View 绑定(bind)器,它使用 KotlinPoet 为我的 View 生成一些样板代码。但不知何故,我的注释处理器没有生成 View 所需的代码,因此每当我尝试运行演示应用程序
我正在尝试使用 apt 并生成一些代码,因此我从 here 得到了一个不起作用的示例将其导入 Android Studio,使其工作并放置 here以防其他人想要使用 Android Studio 在
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 6 年前。 Improve th
给定这些类型: @Retention(RUNTIME) @Target(ANNOTATION_TYPE) public @interface Annotation1 { } @Retention(RU
我试图找到处理 @Deprecated 注释的逻辑。 在 Eclipse 中,打开“类型层次结构”(F4) 只会显示我自己的 AbstractProcessor 实现。 有谁知道处理@Deprecat
我正在编写一个依赖于 AbstractProcessor 类的库,因为我想编写一个很棒的库,所以我也希望有一个很好的覆盖范围。由于预处理器 在编译时工作,我不确定如何测试该代码。 我有一些构建应该失败
我希望将来自 KStream 的窗口化批处理输出组合在一起,并将它们写入辅助存储。 我期待看到 .punctuate() 大约每 30 秒被调用一次。我得到的反而被保存了here . (原文件几千行)
我正在尝试开始创建一个 javax 注释处理器,我现在是从 android studio 做的。我只需要我认为的 gradle 依赖项。现在在 gradle 中,我尝试过以下内容: provided
我有一个扩展 javax.annotation.processing.AbstractProcessor 的类,我想用 apt 运行一些 .java 文件。 如何在 apt 命令行(或在 ant ap
我正在尝试创建一个新的注释,我将使用它来进行一些运行时接线,但是,出于多种原因,我想在编译时通过一些基本检查来验证我的接线是否成功。 假设我创建了一个新注解: @Target(ElementType.
使用javax.annotation.processing.AbstractProcessor生成java代码时 (...) FileObject file=filer.createResource(
我正在为 Apache NiFi 开发自定义处理器。我已经创建了我的处理器的nar并将其放入nifi的lib文件夹中并启动了nifi。我已经在 Eclipse 中设置了远程调试器,并在 onTrigg
我想学习 Annotation,我创建了一个演示项目。但是当我创建一个类extends AbstractProcessor 时,Android Studio 找不到这个类。我该如何添加它。 最佳答案
我是反射(reflection)中的新手。有什么方法可以检测特定方法在哪里被调用?例如: public class MyClass { public static void method(){
我是一名优秀的程序员,十分优秀!