annotation-processing相关内容

如何在保存时在 Eclipse 中运行注释处理器

目前我在eclipse中为一个项目生成带有注释处理器的文件 右键项目>运行方式>Maven 清洁右键单击项目>运行方式>Maven 安装 这非常耗时.如何设置 eclipse 以使其在保存时运行注释处理器? 我有“自动构建"功能集,但它似乎忽略了注释处理器.顺便说一句,我正在使用带有“自动配置 JDT APT 激活"的 m2e apt 插件. 解决方案 我的一些项目在 Eclip ..
发布时间:2022-01-24 19:04:53 Java开发

Eclipse - 注释处理器,获取项目路径

我正在为 Eclipse 构建一个注释处理器插件,我想做的是在处理过程中检查项目文件夹中的几个文件. 我想知道如何从我的处理器中获取项目路径.我相信可以做到这一点,因为项目源路径已提供给处理器 - 但我找不到到达它的方法. 我尝试查看 System.properties 和 processingEnv.getOptions() 但那里没有有用的信息.. 最终我也想在 Netbea ..
发布时间:2022-01-16 13:06:25 Java开发

在 Java 6 注解处理器中查找方法返回类型的类型参数

我正在编写一个工具,它使用注释处理器根据带注释的类的方法的返回类型生成源代码.返回类型始终是定义类型变量 T 的接口 A 的某个子类型(接口或类). interface A{T m();}; 我想找方法m()返回值类型变量T的类型参数. 返回类型由注释处理器表示为 javax.lang.model.type.TypeMirror 实例.最简单的情况是直接返回A. @Some ..
发布时间:2022-01-13 10:24:38 Java开发

从 Java 注释处理器访问源代码

我正在尝试从 Java 注释处理器中访问某个类型的实际原始源代码.这有可能吗?谢谢! 解决方案 我遇到了一个问题,我必须访问一些源代码(非字符串/非原始常量的初始化代码)并通过访问解决了它通过 编译器树 API. 这是一般配方: 1.创建自定义 TreePathScanner: 私有静态类 CodeAnalyzerTreeScanner 扩展 TreePathScanner{ ..
发布时间:2022-01-13 10:01:29 Java开发

什么是默认注释处理器发现过程?

Maven 编译器插件的文档中提到了以下内容: 注解处理器: 要运行的注释处理器的名称.仅适用于 JDK 1.6+ 如果不是设置,则应用默认注释处理器发现过程. 这里的默认注释处理器发现过程是什么?除了这个配置标签,还有其他方法可以设置注解处理器吗? 我发现入门注释处理工具 (apt) 文档提到了一个默认发现过程,但它适用于 工厂类 而不是处理器,不幸的是它使用 tools ..

如何生成JPA实体元模型?

本着与 CriteriaQuery JPA 2.0 还有一个 API 来支持 Metamodel 实体的表示. 有没有人知道这个 API 的全功能实现(生成元模型而不是手动创建元模型类)?如果有人也知道在 Eclipse 中设置它的步骤,那就太棒了(我认为它就像设置注释处理器一样简单,但你永远不知道). 编辑:刚刚偶然发现 Hibernate JPA 2 Metamodel Gener ..
发布时间:2021-11-25 19:44:54 Java开发

如何在不使用 javac 编译源代码的情况下运行 Annotation Processor(Java 8 不能使用 Apt)

如何在不使用 javac 编译源代码的情况下运行 Annotation Processor(Java 8 不能使用 Apt)? javac 有没有参数可以只运行注解处理而不编译所有文件? 我想用 javac 做什么: 只需找到带注释的元素并使用定义的注释处理器使用 -processor 标志来处理它们 不要编译任何没有任何注释的源 因为我想在 Java 8 上执行此操 ..
发布时间:2021-11-22 16:48:24 Java开发

如何在 Gradle 中使用自定义 Java Annotation Processor?

我一直在研究一个简单的 Java 注释处理器,它扩展了 AbstractProcessor. 我已经能够使用 javac -Processor MyProcessor mySource.java 成功地测试这个 问题是使用 Android Studio 将其集成到一个简单的 Hello World android 应用程序中. 我首先创建了一个新的 Android 项目,然后添加了 ..
发布时间:2021-11-21 21:30:53 Java开发

如何在 Gradle 中使用自定义 Java Annotation Processor?

我一直在研究一个简单的 Java 注释处理器,它扩展了 AbstractProcessor. 我已经能够使用 javac -Processor MyProcessor mySource.java 成功地测试这个 问题是使用 Android Studio 将其集成到一个简单的 Hello World android 应用程序中. 我首先创建了一个新的 Android 项目,然后添加了 ..
发布时间:2021-11-21 21:29:25 Java开发

Android Studio 中缺少编译器选项 >= 0.8.2

最近我将我的 Android Studio 升级到 0.8.2.现在,我的基于 android-annotations 的项目无法构建.似乎以某种方式禁用了注释处理.项目编译器设置好像变了,怎么也找不到开启/关闭注解处理的选项... 我无法像以前那样扩展“编译器"选项: 他们把这些选项放在哪里了? 解决方案 这有点晚了,但对我来说,它在 文件 -> 其他设置 -> 默认设 ..
发布时间:2021-11-21 21:02:22 Java开发

方法体中注解的处理

我正在使用 Pluggable Annotation Processing API 处理 java 注释.是否也可以处理内部方法主体中使用的注释? 感谢您的帮助.彼得 解决方案 我想,我找到了解决方案.正如我所想的那样,当前的 javac 是不可能的.本地注解只是简单的注释,不会被可插拔注解处理api处理.但是在 JSR308 中有一些有趣的工作,处理支持奇妙事物的类型注释作为类型变 ..
发布时间:2021-11-17 01:04:17 Java开发

eclipse java注解处理

我想在 eclipse jdt 中使用 Annotation 处理做一些事情. Eclipse jdtapt 帮助告诉我应该在 java/compiler/annotation 处理首选项页面上进行配置. 但是在我的安装(Indigo)上,编译器部分没有此注释处理子部分.它只有构建、错误/警告、javadoc、任务标签. 我的安装有问题吗? 解决方案 可从 Eclipse ..
发布时间:2021-11-17 01:03:52 Java开发

如何在编译期间逐步调试注释处理器?

我有一个注释处理器,用于保留 policy=SOURCE 的注释. 我不知道如何逐步调试它. 我在运行 mvn install、compile 或 package 或 ant javac 时发出了打印语句、记录器信息,并且我在编译日志中看到了它们的系统输出. 但是,我不知道如何在 Eclipse 中逐步调试处理器.我的意思是,您如何逐步调试编译时? 解决方案 您必须使用调 ..
发布时间:2021-11-11 02:16:09 Java开发

如何用注释处理器替换 GWT.create?

我想创建一个注释处理器来替换对 GWT.create 的调用. 使用注释处理器,您必须生成两个类,然后根据上下文动态(在运行时)在其中选择(您可以生成一个工厂来帮助执行此操作,但您仍然必须以某种方式为工厂提供当前上下文,例如当前语言环境). – 来源:https://stackoverflow.com/a/29915793/116472 我让我的注释处理器运行它很好地生成了类.我 ..
发布时间:2021-11-10 23:19:46 Java开发

编译时创建的类在 IntelliJ 中显示为不存在

动机: 我想试试编译时注释处理是否适合我的问题.它需要开箱即用,没有编译器参数等. 当前状态: 我有: 注释 注释处理器 包含这两者的 .jar 和包含 FQCN 我在 META-INF/services 中的处理器 应该发生什么: 它应该自动检测处理器 它应该处理注释并创建一个新类(WiredAnnotated) 我应该能够在一个编译步骤(而不是多个阶 ..
发布时间:2021-11-10 23:17:37 Java开发

使用相同的 Processor 实例处理不同的注解

我们的项目中有两个注释,我想收集带注释的类并基于两个类列表创建合并输出. 这是否可以仅使用一个 Processor 实例?我如何知道 Processor 实例是否被每个带注释的类调用? 解决方案 框架只调用 Processor.process 方法一次(每轮),您可以通过通过 RoundEnvironment 参数.因此,您可以在同一个 process 方法调用中处理这两个列表. ..
发布时间:2021-11-10 23:12:50 Java开发

如何在不使用 javac 编译源代码的情况下运行 Annotation Processor(Java 8 不能使用 Apt)

如何在不使用 javac 编译源代码的情况下运行 Annotation Processor(Java 8 不能使用 Apt)? javac 有没有参数可以只运行注解处理而不编译所有文件? 我想用 javac 做什么: 只需找到带注释的元素并使用定义的注释处理器使用 -processor 标志来处理它们 不要编译任何没有任何注释的源 因为我想在 Java 8 上执行此操 ..
发布时间:2021-11-10 23:05:39 Java开发