内容简介:写过java的都知道,lombok几乎在项目中处于不可或缺的一部分,但是lombok在Gradle的项目中配置并非人人都知道。很多人在项目依赖中直接这样写但这样的处理在Gradle 5.0以上被命令禁止了,在4.x的高级版本中编译时也会有对应的告警
写过 java 的都知道,lombok几乎在项目中处于不可或缺的一部分,但是lombok在Gradle的项目中配置并非人人都知道。
很多人在项目依赖中直接这样写
compile "org.projectlombok:lombok:1.18.4"
但这样的处理在Gradle 5.0以上被命令禁止了,在4.x的高级版本中编译时也会有对应的告警
The following annotation processors were detected on the compile classpath: 'lombok.launch.AnnotationProcessorHider$AnnotationProcessor' Detecting annotation processors on the compile classpath is deprecated and Gradle 5.0 will ignore them. Please add them to the annotation processor path instead. If you did not intend to use annotation processors, you can use the '-proc:none' compiler argument to ignore them.
Gradle的几种依赖方式
下面先来了解下目前Gradle(4.1以上)的几种常见的依赖方式。
- api:与旧版的compile相同;
- implementation:解决重复依赖问题。例如A依赖B,B依赖C,那么A里面将不能调用C的方法;
- compile only:编译有效,打包无效。替代旧版的provider;
- runtime only:打包有效,编译无效;
- test、debug、release implementation:对应test、debug、release环境的implementation。
回到Lombok的使用上,我们知道lombok是可以简化编写的代码,可以让开发人员通过注解的形式少写一些重复具有模板形式的代码。然后这些注解可以在代码编译的时候,自动生成对应模板代码。
并且在打jar/war包的时候,并不需要把lombok的依赖打进包中,所以Lombok在依赖上应该是compile only(仅在编译时生效)才对。
在Gradle 5.0环境下,我们尝试下改成
compileOnly "org.projectlombok:lombok:1.18.4"
然后执行gradle build。会发现代码报错,找不到对应生成后的代码(如果用idea build则不会,因为自带了插件。4.4+的版本也不会报错,但会告警)。
Lombok的正确配置
回到开头的官方告警中,有这么一句
Detecting annotation processors on the compile classpath is deprecated and Gradle 5.0 will ignore them.
Please add them to the annotation processor path instead.
在5.0的环境下,注解处理将不再compile classpath中,需要手动添加到annotation processor path。
最终的对应依赖如下
compileOnly 'org.projectlombok:lombok:1.18.4' annotationProcessor 'org.projectlombok:lombok:1.18.4' testCompileOnly 'org.projectlombok:lombok:1.18.4' testAnnotationProcessor 'org.projectlombok:lombok:1.18.4'
P.S. 如果不配置compileOnly,只配annotationProcessor(gradle5.0以上才有),也会build成功,但会把依赖也打包进去。
针对5.0以下版本,对应依赖如下
compileOnly 'org.projectlombok:lombok:1.18.4'
看完后,大家可以动起来,把自己项目中的lombok配置改掉吧(注意gradle版本)。
更多技术文章、精彩干货,请关注
博客:zackku.com
微信公众号:Zack说码
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 强大的姿势感知模型用于姿势不变的人脸识别
- 从姿势到图像——基于人体姿势引导的时尚图像生成算法
- 行人重识别告别辅助姿势信息,港中文、商汤等提出姿势无关的特征提取GAN
- 穿越边界的姿势
- 日志打印的正确姿势!
- 修复缺陷的正确姿势
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
付费:互联网知识经济的兴起
方军 / 机械工业出版社 / 2017-6-1 / CNY 59.00
关于互联网知识付费的首部作品 知识工作正在被重塑,知识经济正在开启互联网时代下半场 为你展现互联网知识经济全景大图,解读新物种的前世今生 内容简介 一个产业解读 三个分析工具 一组知识卡片 书是最早的知识载体,已有2000多年的付费历史,随着移动互联网的普及,新的知识经 济在今天爆发,知识的创造者和传播者从书后走到了书前,互联网知识经济正在拉开帷幕。知识的......一起来看看 《付费:互联网知识经济的兴起》 这本书的介绍吧!
Markdown 在线编辑器
Markdown 在线编辑器
HEX HSV 转换工具
HEX HSV 互换工具