问题标签 [annotation-processing]

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 回答
410 浏览

java - 注释处理工具 <- 检查有效注释

我有

而且我必须使用 APT 检查索引号是否唯一。我不知道该怎么做。我不懂教程,一般我在网上找资料都有问题。

这该怎么做?任何关于 APT 的教程/任何东西?

0 投票
1 回答
299 浏览

android - RequestFactory 接口验证问题

我在带有共享文件夹的 Android Connected AppEngine 项目中使用 RequestFactory。Eclipse AnnotationProcessor(进行接口验证)适用于 AppEngine 项目,但不会为 Android 项目生成 MyRequestFactoryDe​​obfuscatorBuilder.java 类。当我构建项目时,它似乎没有做任何事情。我的项目属性如http://code.google.com/p/google-web-toolkit/wiki/RequestFactoryInterfaceValidation中所述。

现在我的问题是:如何获得接口验证不起作用的任何信息?我的日志或“问题”下没有任何内容。

0 投票
2 回答
3283 浏览

java - 无法解析注释处理器的 jar 依赖项

我有一个依赖于外部 jar 的注释处理器 - lib.jar 我将我的处理器打包为一个 jar 并在编译我的客户端时使用它。在客户端编译开始失败并显示此消息时引入 lib.jar 之前,我一直运行良好。

我尝试将 lib.jar 放在客户端的类路径中,但没有帮助。我错过了什么?

0 投票
4 回答
8863 浏览

java - Java 泛型:在运行时访问泛型类型

我正在寻找在运行时访问声明字段的泛型类型。我以前的印象是,由于 Java 类型擦除,这是不可能的。但是,情况并非如此,因为一些众所周知的框架在运行时通过反射利用泛型类型。

例如,Guice 将根据您提供的泛型类型实现一个 Provider:

如何通过反射 API 访问字段的“SomeType”通用属性或任何此类类型/方法/等?

此外,了解如何通过 Java 6 Annotation Processor API 访问这些泛型类型属性也会很有帮助。

谢谢。

编辑:

谢谢大家的指点。我找到了一种使用 haylem 链接的方法,特别是 Prenkov 的文章Java Reflection: Generics的链接。

这是我一直在寻找的答案:

结果是:

fieldArgClass = 类 test.TypeReflectionExample$SomeType

方法、构造函数、超类扩展/实现等也可以这样做

我奖励 haylem,因为他的帖子让我找到了这个解决方案,即使它没有直接回答我的问题。

0 投票
4 回答
6293 浏览

java - 使用 Java 6 注解处理器获取泛型类型的限定类名

我正在使用 JDK 6 的注释处理 API 开发一个小型代码生成器,并且一直试图获取类中字段的实际泛型类型。为了更清楚,假设我有一个这样的课程:

这是我的注释处理器类:

任何提示将不胜感激!

0 投票
0 回答
393 浏览

web-services - 使用 Eclipse 注释处理生成 @WebService

我正在使用 Eclipse 注释处理功能来生成 web 服务客户端。我的处理器扩展了“javax.annotation.processing.AbstractProcessor”并且本身被注释(@SupportedAnnotationTypes)以仅处理我的自定义注释。使用来自 ProcessingEnvironment 的文件管理器,我生成了一个新的 ClassB,我用 @WebService 进行了注释。

我的处理器返回 true,因为我正在处理的注释是我的自定义注释。

似乎这个@WebService 方法没有被工具(我假设的另一个注释处理器(?))拾取,因此没有显示在虚拟“服务”文件夹中。

我试过改变处理器的顺序,但这没有效果。

其他未生成的类在使用 @WebService 注释时立即显示在虚拟“服务”文件夹中,并且我能够运行测试客户端。我生成的 ClassB 未被检测为 Web 服务。

知道如何在虚拟“服务”文件夹中显示 Web 服务时检测到我生成的类吗?

这一切都发生在一个 Java EE Web 项目中。
使用:Rational Application Developer 版本:8.0.4 iFix1(构建 ID:RADO804iFix1-I20120127_2338),它是 Eclipse 版本 3.6.2。

谢谢。

0 投票
8 回答
27662 浏览

android - Android javax.annotation.processing 包丢失

我想根据以下链接中的示例进行一些注释处理:http ://www.zdnetasia.com/writing-and-processing-custom-annotations-part-3-39362483.htm 。

但是,我想在我的 Android 项目中实现这个,似乎我不能在 android 平台上使用这个包。我需要添加一个外部 jar 还是缺少一些东西?

谢谢。

0 投票
4 回答
16109 浏览

java - eclipse java注解处理

我想在eclipse jdt中使用注释处理做一些事情。

Eclipse jdtapt 帮助告诉我应该在 java/compiler/annotation 处理首选项页面上进行配置。

但是在我的安装(Indigo)上,编译器部分没有这个注释处理子部分。它只有建筑、错误/警告、javadoc、任务标签。

我的安装有问题吗?

0 投票
2 回答
132 浏览

android - 无法为 RequestFactory 验证设置注释处理的属性

许多stackoverflow问题链接到

http://code.google.com/p/google-web-toolkit/wiki/RequestFactoryInterfaceValidation#IDE_configuration

它显示了在“Java 编译器”下设置“注释处理”属性的位置

但我的 Eclipse 3.7 设置在 Java 编译器下的首选项中没有“注释处理”选项。

知道为什么吗?

谢谢。

0 投票
1 回答
216 浏览

google-app-engine - 使用 Ant 编译具有数据存储回调的 AppEngine 项目

我已经在我们的 AppEngine 项目中实现了数据存储回调,并在 Eclipse 中进行了设置,如链接中所示。

现在我无法让它在 Ant 中编译。这是我现在为 javac 目标所拥有的:

apt 任务运行,但它所做的只是列出一堆没有处理器的注释,包括 PrePut 注释。

我尝试将 factorypathref 设置为 ${appengine.folder}/lib/impl/appengine-api.jar 但它说找不到 appengine-api.jar 引用(我已验证路径存在)。我还查看了 jar 文件以查看是否可以找到它用作工厂但尚未找到的类。