15得票4回答
使用Java 6注解处理器获取泛型类型的合格类名

我正在使用JDK 6的注解处理API开发一个小型代码生成器,但在尝试获取类中字段的实际泛型类型时遇到了困难。更明确地说,假设我有这样一个类: @MyAnnotation public class User { private String id; priva...

15得票4回答
Maven注解处理器未找到。

我刚接触注解处理,现在想用Maven自动化处理。我已经将以下内容放入我的pom.xml文件中: <plugins> <plugin> <groupId>org.apache.maven.plugins</gro...

15得票2回答
Java注解处理:如何知道当前轮次是否为最后一轮?

当扩展AbstractProcessor时,有可能会覆盖init(...)方法,但却没有相应的 "相反" 方法,可以在处理所有轮后调用。 这是一个问题:当您需要将每一轮收集到的信息追加到同一个文件时,您永远无法关闭该文件,因为您永远不知道最后一轮何时结束。 因此,该文件从未被关闭并保持为空白...

15得票3回答
在eclipse中调试注解处理器

我正在编写一个简单的注解处理器,并尝试使用eclipse进行调试。我为注解处理器创建了一个新项目,并根据需要在META-INF下配置javax.annotation.processing.Processor,它可以很好地处理注解。 然后,我添加了一些代码并尝试进行调试,但是无法使执行停止在注...

14得票2回答
javax.lang.model:如何获取字段的类型?

在java.lang.reflect中,我们可以这样做:Field someField = ...; Class<?> fieldType = someField.getType(); 那么我应该如何使用javax.lang.model中的VariableElement(它可能代表...

14得票1回答
Gradle + 注解 + 渠道包 = 注解处理器无法运行

我有一个使用注解处理器(Android Annotations)生成代码的Gradle构建脚本。在添加了一个新的Pro Flavor之后,构建过程出现问题。我可以成功构建Free flavor,但当我构建Pro flavor时,注解处理器不会运行。这导致缺失代码和构建失败。 以下是我的脚本:...

14得票3回答
Dagger找不到其他注解处理器生成的类

我已经写了一个简单的注解处理器(只是为了好玩),它将收集Activity类上的注解,并生成一些样板代码,这些代码在我的以前的项目中已经写过。实际上,它会生成一个类似于以下模块的模块: @Module abstract class ActivityInjectorModule { @Con...

13得票1回答
注解处理,RoundEnvironment.processingOver()

阅读Java中一个自定义注解处理器的代码时,我在处理器的process方法中注意到了这段代码:@Override public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roun...

13得票3回答
如何在注解处理器(编译时)内部检查包是否存在?

我正在为Android构建一个注解处理器(为了以后的解释,我们将其称为TestProcessor)。 计划是让处理器在两种模式下运行: 模式1:生成代码 A 模式2:生成代码 A 和 B 模式2只有在处理器生成代码的环境中存在额外(可选)包时才应选择。 是否有办法在注解处理器...

13得票1回答
Dagger 2在Android上,缺少错误信息

我在我的Android项目中使用Dagger 2,但是我在调试时遇到了困难。我知道编译失败是因为我的Dagger 2设置存在错误(之前出现过),但是由于没有得到正确的错误信息告诉我问题出在哪里,所以几乎不可能找到它的原因。所有我收到的消息只是显示注释处理失败的信息,例如:Error:Execu...