是否可以在定义它的同一个项目中使用注释处理器?
例子:
源/
MyAnnotation.java
path_to_MyAnnotationProcessor.MyAnnotationProcessor.java
其他类
资源
META-INF/services/javax.annotation.processing.Processor
绒球
当我运行时mvn clean install
,我希望我的处理器将处理使用 MyAnnotation 注释的类。
我不想从另一个库导入已经编译的处理器,我只想在我的 src 中定义它后使用它。
现在,我得到错误: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.6.1:compile (default-compile) on project my-project: Compilation failure
[ERROR] Annotation processor 'path_to_MyAnnotationProcessor' not found
pom.xml 的一部分,我在这里引用。给我的处理器:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven.plugin.compiler}</version>
<configuration>
<source>${version.java}</source>
<target>${version.java}</target>
<annotationProcessors>
<proc>path_to_MyAnnotationProcessor.MyAnnotationProcessor</proc>
</annotationProcessors>
</configuration>
</plugin>
感谢大家,尤其是 @Stefan Ferstl 和 @yegodm。来自 yegodm 的解决方案是:“一种方法是两个在同一个项目中有两个模块。一个模块将定义注释和处理器。另一个将它作为建立构建顺序的依赖项。”
繁星淼淼
白猪掌柜的
相关分类