服务配置文件不正确, 或构造处理程序对象javax.annotation.processing.Processor
来自ling
https://www.cnblogs.com/coder-chi/p/11316136.html
坑:服务配置文件不正确 我们在开发完进行编译,很快会在控制台发现这行错误
错误: 服务配置文件不正确, 或构造处理程序对象javax.annotation.processing.Processor: XXX could not be instantiated: java.lang.NoClassDefFoundError: XXX 时抛出异常错误 为什么呢?因为注解处理器在启动的时候,注解处理器本身还没有编译,所以找不到。WTF。
那么,同学们,怎么才能解决这个“鸡生蛋,蛋生鸡”的问题呢?
第一,把这个类拆到单独的Jar包里面,不要让它干扰到需要扫描的项目里。
第二,在这个单独的项目里,引入声明,表示,这个项目不要用注解处理器扫描。
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<executions>
<execution>
<id>default-compile</id>
<configuration>
<compilerArgument>-proc:none</compilerArgument>
<source>1.8
<target>1.8</target> </configuration> </execution> </executions> </plugin> </plugins> </build>
</source> 这样才能让这个类编译成功,并且让它在其他项目编译的时候生效。