idea编译报错 Lombok运行测试类报错 jar依赖冲突解决
1.现象是idea编译,运行项目的时候是没有问题,可以正常跑起来。 2.运行junit测试类的时候,报错提示 lombok找不到类,解决思路如下: 首先该项目在eclipse下可以正常运行,包括项目启动和运行junit测试类,推断跟项目没有直接的关系,可能在idea安装的lombok插件上面。 然后网上查询了,idea可以查看jar依赖图,实际没有效果。通过使用 gradlew build --scan 命令可以正常生成在线的依赖关系 查看 最后将低版本的jar包排除仍然没有解决问题。 问题集中在单元测试上面,通过 testCompile group: 'org.projectlombok', name: 'lombok', version: '1.18.22' 测试运行的jar提升版本。 3.原因是lombok jar版本不一致导致的冲突。 org.projectlombok:lombok:1.16.22 org.projectlombok:lombok:1.18.22
4.扩展 idea编译的时候,可以查看的jar包存在,但是提示类找不到,推测是xxljob未将依赖包引入进来,需要在文件中显式的加载进来。 compile('com.autoyol.xxljob:xxljob-starter:2.0.1-SNAPSHOT'){ exclude module: 'com.xuxueli:xxl-job-core' } compile 'com.xuxueli:xxl-job-core:2.0.1'
5.其他 11:42 Lombok requires annotation processing: Do you want to enable annotation processors? Enable
##生成依赖关系图 gradlew build --scan
更新 mvn -U idea:idea
gradle dependencies gradlew clean build -x test --refresh-dependencies
compileOnly group: 'org.projectlombok', name: 'lombok', version: '1.18.20' testCompile group: 'org.projectlombok', name: 'lombok', version: '1.18.20' //testImplementation group: 'org.projectlombok', name: 'lombok', version: '1.18.22' //annotationProcessor 'org.projectlombok:lombok:1.18.20' compile('com.test.car:test-car-rabbitmq:1.0.4-SNAPSHOT'){ exclude module:'lombok' //排除jar包 }
testCompile group: 'org.projectlombok', name: 'lombok', version: '1.18.22' org.projectlombok:lombok:1.16.22 org.projectlombok:lombok:1.18.22