解决Maven“无法将类 XXXXX 中的构造器 XXXXXX 应用到给定类型”错误
在Maven的install过程中编译器提示如“无法将类 XXXXX 中的构造器 XXXXXX 应用到给定类型”的错误。
如果代码没有报错,只是在编译阶段才报错,那基本可以确定是lombok问题。
我遇到这个问题是因为在将当前项目打包成Maven依赖时加入了如下插件:
<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.8.1</version><configuration><annotationProcessorPaths><!-- Spring Boot 的配置元数据生成器 --><path><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId><version>${spring-boot.version}</version></path></annotationProcessorPaths><compilerArgs><arg>-parameters</arg></compilerArgs></configuration>
</plugin>
但该插件工作时,并不会主动加载已经添加到<dependencies>
依赖中的lombok依赖,需要主动在插件的annotationProcessorPaths
下添加lombok配置:
<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.8.1</version><configuration><annotationProcessorPaths><!-- Spring Boot 的配置元数据生成器 --><path><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId><version>${spring-boot.version}</version></path><!-- Lombok 的注解处理器 --><path><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>${lombok-version}</version></path></annotationProcessorPaths><compilerArgs><arg>-parameters</arg></compilerArgs></configuration></plugin>
如果你不是因为该插件原因导致的,那也大概率是lombok插件相关的问题,可以尝试配置一下当前的开发软件相关配置,方向对了问题就好找了。