小编Igo*_*kov的帖子

将注释处理器集成到同一项目中

是否可以在定义了注释的项目中使用注释处理器?

例:

  • src /

    • 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>
Run Code Online (Sandbox Code Playgroud)

感谢所有人,尤其是@Stefan Ferstl和@yegodm。来自yegodm的解决方案是:“一种方法是两个在同一个项目中具有两个模块。一个模块将定义注释和处理器。另一个模块将其作为建立构建顺序的依赖项。”

java spring maven

5
推荐指数
1
解决办法
298
查看次数

标签 统计

java ×1

maven ×1

spring ×1