问题标签 [annotation-processor]
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.
android - 在构建发布版本时,compileReleaseJavaWithJavaC 反应原生模块失败
任务:react-native-device-info:compileReleaseJavaWithJavac FAILED
FAILURE:构建失败并出现异常。
- 出了什么问题:任务':react-native-device-info:compileReleaseJavaWithJavac'执行失败。
java.io.FileNotFoundException:/workspace/eos-native/node_modules/react-native-device-info/android/build/intermediates/annotation_processor_list/release/annotationProcessors.json(没有这样的文件或目录)
错误是有道理的,文件不存在,但我不知道为什么它不存在?它是在我运行应用程序的调试版本和我的库、react-native-device-info、react-orientation-locker 等的调试版本时创建的。我已经清理、同步、重建等,但是在尝试组装或安装发布版本我会在几秒钟内收到此错误。是什么导致Java
java - 创建自定义注释时,AnnotationProcessor vs ConstraintValidator 有什么用
我需要创建一个自定义注释,当应用于方法时,它会针对各种检查检查并验证输入参数(原始和非原始)。如果检查失败,则应直接返回错误消息。
在搜索时,我在创建自定义注释时遇到了 AbstractProcessor 和 ConstraintValidator 的使用。作为创建自定义注释的新手,我想了解如何继续实施我的问题陈述。
java - spring-boot-configuration-processor 依赖仅用于 IDE 支持吗?
我只是想知道正式的spring-boot-configuration-processor
依赖是什么。
我在依赖项中使用它,这些依赖项在微服务中使用,我希望自动完成以管理我的配置。我可以在 Spring Tool Suite 自动完成中看到结果,它工作正常,而且很有用。
不过,我想知道该依赖项是否还有其他实用程序。我可以想象仪表板或 Spring Boot Admin 之类的用法,可以在其中编辑配置并提供帮助。
提前致谢
java - java编译器注释处理器选项未正确传递
我正在编写一个 java 注释处理器来从代码体中的注释中收集元数据。我希望输出文件以 maven 项目版本开头。查看 Oracle java 8的javac 文档,看来我应该能够使用符号将项目版本作为选项传递给注释处理器-A key=value
。所以我配置了 maven-compiler-plugin 以将core.versionId
选项设置为项目版本,如下所示:
但是,当我编译时,我收到以下错误:
似乎 project.version 已正确插入,但编译器未能像宣传的那样处理 -A 选项。我一定遗漏了一些东西,但我看不到它是什么,而且我找不到提到这个问题。非常感谢任何帮助。
更新:如果我删除空间,错误就会消失,使 arg be
-Acore.versionId=${project.version}
,但在这种情况下 core.versionId 选项不会出现在注释处理器中。
java - 在 javax.annotation.processing.Processor 中获取 VariableElement 的封闭类名
我刚刚开始学习 Java 中的注释处理。我有@MyAnnotation
哪些目标ElementType.FIELD
,我Processor
将注释限制为只允许非空唯一value
。哪个工作正常。
在记录错误以防有一些重复value
设置为 时MyAnnotation.value
,我想提供源代码中现有注释和新重复注释的完整路径。
我的注释:
示例父类。
我的注释处理器
但是,我无法弄清楚如何从VariableElement
. 由于我才刚刚开始,AnnotationProcessing
我什至不确定这是否可行,而且我无法在 StackOverflow 或其他任何地方找到与此问题相关的任何问题。
预期的错误输出
注意:我意识到如果我定义一个新的 Annotation 并设置为 Enclosure 类,我可以获得父信息ElementType.TYPE
,但我希望避免这种情况,因为它为第三方开发人员增加了额外的责任。
java - 错误:包生成的.schema 不存在
在我的 Android 应用程序中,我有一个注释处理器,它使用生成的文件JavaPoet
并将它们放在包 generate.schema 下。
文件生成正确。每当我像这样使用生成的文件时
我收到以下错误:
但是如果我包含完全限定的类名而不是像这样导入
代码编译并运行没有任何错误。
我不想在每次使用GeneratedFile
. 我不确定我做错了什么,因为我仍在学习使用Annotation Processor。
其他库(包括 Realm、DataBinding)生成的文件都按预期正常工作。
文件生成:
使用 JavaPoet 我运行以下代码。
NamespaceCreator.generateClassPackage(element)
class
返回ie的包名generated.schema
。
java - javapoet如何处理annotate属性值的AnnotationValue
使用 AbstractProcessor 获取自定义注解的方法 获取注解的属性名称和值 属性值是 AnnotationValue 类型 使用 javapoet AnnotationSpec.Builder(xx) 生成代码。AddMember(String name, String format, Object... args) 生成错误代码: 如:method (@AnnotationName(value = "/" v1 / "/v2"/")) Method (@annotationname (value= {"v1","v2"})) 既然有好几种注解属性类型,那么如何分辨AnnotationValue是哪一个,用javapoet生成正确的代码
这是javapoet当前生成的错误代码:
java - 是否可以在java中的构建时添加注释?
我正在寻找一种在构建期间将注释添加到字段的方法。是否可以在构建期间修改“.class”文件内容?就我而言,
我有不同的客户代码库。有的客户只需要注释x字段,有的只需要注释y。所以我正在寻找在构建时添加注释。
java - Dagger 找不到其他注解处理器生成的类
我编写了一个简单的注释处理器(只是为了好玩),它将生成一些我在以前的项目中编写的样板代码。它实际上通过收集 Activity 类上的注释来生成如下所示的模块
但是,当我使用 dagger 运行它时,dagger 似乎无法找到由我的注释处理器生成的类。虽然类已生成并存在于生成的目录中,但我可以在我的源代码中使用它,但在编译时,dagger 会产生以下异常。有什么专家建议吗?
这是主要的应用程序组件。
ActivityInjectorModule类由注解处理器生成,存在于生成目录中。
应用类
如果我自己创建生成的类,一切都会完美运行。在编译时不知何故,当我的注释处理器生成时,dagger 无法找到该类。
在 Yuriy Kulikov 的回答之后,
您可以看到生成的文件在同一个包中,但也使用完全限定名称引用。仍然匕首报告错误。
如果有人想进行实验,这里是github 存储库的链接
java - Mapstruct 与 maven-pom 中的其他注释处理器一起
http://maven.apache.org/xsd/maven-4.0.0.xsd">4.0.0
亲爱的大家,
我需要一些帮助来实施mapstruct
我的project
. 我已经有一些需要在pom.xml
maven 中命名的注释处理器。
Mapstruct
建议annotationProcessorPaths
在 pom.xml 中添加。似乎不可能在同一个 pom.xml 中同时使用两个注释(annotationProcessorPaths
和)。annotationProcessor
如果我这样做,我会收到错误消息
无法执行目标 org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile (default) on project yyy-data: Compilation failure [ERROR] Annotation processor 'de.zzz.annotation.processor.GenerateHibernateTypeForEnumProcessor'未找到
我确实缩短了pom。因此,可能存在比实际需要更多的依赖项。
提前感谢奥利弗