问题引发及解决
公司项目有了一个新的需求,因为这个项目一直没有使用 lombok,但是呢 lombok又很好用,所以我就给项目中引入了 lombok
代码语言:javascript复制implementation 'org.projectlombok:lombok:1.18.8'
就这样引入完,启动项目就发现项目启动不了了
网上找了半天问题,终于给解决了,其实也很简单,只要把构建方法换成IDEA就行了(两个选项都要换)
虽然可以运行了,但是当我需求写完准备打包上线的时候又出问题了。还是相同的问题,我的猜想,虽然把运行项目的构建方式改成IDEA是可以了,但是打包的时候还是用的Gradle,所以还是会报相同的错误。
没办法,又找了大半天,最后还是找不到,我就想着把lombok给删掉,当时还在想肯定不会是这个问题,当我把所有代码改掉之后,奇迹发生了,项目竟然可以运行,也可以打包了。
到此,我找到了问题所在,然后百度了Gradle和lombok的相关问题,才了解到。原来他两会有兼容问题,如果想在gradle中用lombok那么只需要这样引用依赖就可以了。
代码语言:javascript复制compile 'org.projectlombok:lombok:1.18.6'
//编译有效,打包无效。替代旧版的 provider;
compileOnly 'org.projectlombok:lombok:1.18.6'
// gradle 5.0以上版本注解处理不再compile classpath,需要增加 annotation processor path
annotationProcessor 'org.projectlombok:lombok:1.18.6'