当前位置: 首页 > news >正文

教育培训机构网站模板重庆seo整站优化

教育培训机构网站模板,重庆seo整站优化,无锡中英文网站建设,如何制作公司免费网站目录 概述|背景 报错解析 解决方法 IDEA配置解决 Pom配置插件解决 概述|背景 报错发生背景:在SpringBoot项目中引入Lombok依赖并使用后出现"找不到符号"的问题。 本文讨论在上述背景下发生的报错原因和解决办法,如果仅为了解决BUG不论原…

目录

概述|背景

报错解析

解决方法

IDEA配置解决

Pom配置插件解决


概述|背景

报错发生背景:在SpringBoot项目中引入Lombok依赖并使用后出现"找不到符号"的问题。

本文讨论在上述背景下发生的报错原因和解决办法,如果仅为了解决BUG不论原因直接通过目录跳到【解决方法】,如果发生背景不同请找其他博文寻求解决。

Lombok"找不到符号"代码报错一般位置:

1.代码: log.info("日志内容..");   (使用了注解@Slf4j)

2.代码:class.getX(); (使用了注解@Data

报错解析

1.为什么会出现“找不到符号”的报错呢?

我们遇到这个报错时一般都会想到:“难道是这个变量没有定义?”,但是转念一想我们所引用的是Lombok给我们提供的变量。

所以,我们应该去探索Lombok内部,我们在使用log(log.info("日志内容.."))变量时,到底发生了什么。

实际上,当我们编写了代码:log.info("日志内容.."),在项目编译时遇到log变量,会发生的事情是自动帮我们补充了代码:private static final Logger log = LoggerFactory.getLogger(...); 向我们提供了log这个变量引用。

所以,如果这段“自动生成的代码”没有自动生成的话,那么log变量自然就找不到,报错"找不到符号"那也就合理解释了。

当然,代码:class.getX(); 原理也是一样的,只不过自动生成的代码不同罢了(这段代码自动生成的是getter函数)。

-.- | `.`

2.自动生成代码的时机?

当我们明白了会报“找不到符号”的原因就是该自动生成的代码没有生成后,我们就该研究一下“使用lombok时何时帮我们自动生成代码”。

我们在使用Lombok时一般都会在所在类上添加"lombok相关注解"。

例如:想使用日志log.info(),我们就该声明注解"@Slf4j",当想要自动给类中所有字段添加Getter和Setter函数时就该声明"@Data"对吧。

实际上这些注解就会成为自动生成代码位置的锚点。

当项目代码编译时遇到这些注解,“lombok注解处理器”就会识别并生成相应代码。

+.+ | *。*

 3.注解处理器-最终解释 

最终我们会把问题聚焦在"注解处理器是否正确加载"的问题上来。

因为如果lombok注解处理器没有正确加载,那么当代码编译时遇到"lombok变量"自然就没有办法识别。

所以,我们下面我们的解决方案就是“让注解处理器正确工作”。

解决方法

IDEA配置解决

添加VM选项-D jps.track.ap.dependencies=false

这是目前网络上热门的解决方法,但这是一种“回避型”的解决方案,在低版本的SpringBoot项目中有效,但是在高版本3.x中却不一定有效。

 方法解释:

1. 首先我们应该知道一件事:IDEA(IntelliJ IDEA)自带了Lombok插件,正常情况下我们在IDEA中编写"lombok代码"是能够正常运行(能正常“自动生成代码”)的。

 2. 当我们在项目Pom中引入了Lombok依赖之后,Lombok 注解处理器会在编译时被 Maven 加载并执行,生成 Lombok 注解(如 @Slf4j, @Getter, @Setter)所需要的代码但是引入后IDEA自带的Lombok插件优先级低于Lombok依赖提供的注解处理器。

3. 所以当引入Lombok依赖后,Maven代码编译时会优先寻找Lombok依赖提供的注解处理器(追踪依赖),如果没有,直接报错“找不到符号”,而不是去使用IDEA自带的插件去生成代码。

4.上面这个参数通过禁用 IDEA 的依赖追踪机制,让编译过程 忽略 Maven 构建时依赖检查失败的情况。这相当于告诉 IDEA:“不要强制检查这些注解处理器的依赖,不要因为 Maven 的编译失败而阻止代码编译。”

5. 这样一来,即使 Maven 没有找到注解处理器,IDEA 插件仍然可以继续使用,并且 Lombok 的相关代码仍然可以通过 IDE 插件自动生成,从而避免报错。

总结:添加VM选项参数jps.track.ap.dependencies=false实际上并没有解决根本问题,只是有忽略了问题导致的编译终止,让编译继续,使得IDEA的lombok插件可以兜底解决。

(并非所有IDE都默认支持lombok,所以这种解决方案理论上并不是最好的)

Pom配置插件解决

 合理的解决方案应该是我们到Pom文件中配置Lombok的注解处理器

<!-- pom.xml -->
<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><annotationProcessorPaths><path><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>版本号需要和boot版本匹配</version></path></annotationProcessorPaths></configuration>
</plugin>

配置好记得"clean"一下,然后重新maven编译,运行。 

正确配置后,当Maven编译时就能正确加载到Lombok注解处理器,使得"lombok代码"能正常生成,避免报错发生。 

值得注意的是:在配置如上插件的时候lombok版本最好填一下<version>版本号</version>

如果不显示填的话,大概率会从maven远程仓库调用下载最新版或稳定版的Lombok,自动下载的版本不一定和你SpringBoot项目版本兼容,依然会报错

所以,请到spring-boot-dependencies.pom中查看boot项目版本对应的Lombok版本

文件查找路径/方法:

最后总结:

1. 问题的核心就在于Lombok注解处理器没有被正确加载或配置,导致Maven在编译过程中报错,无法生成相应的代码。

~.~ | ``

2. 尽管使用VM选项参数 -Djps.track.ap.dependencies=false 可以避免报错,但最好是确保Maven的Lombok注解处理器配置正确,以确保Maven构建过程和IDEA插件共同协作,使得项目在任何构建环境下都能正确生成代码。

完。


文章转载自:
http://vindicatory.rywn.cn
http://cantonization.rywn.cn
http://semiconducting.rywn.cn
http://surefire.rywn.cn
http://taurin.rywn.cn
http://treillage.rywn.cn
http://unknit.rywn.cn
http://asepticism.rywn.cn
http://hellgramite.rywn.cn
http://hypopnea.rywn.cn
http://victrola.rywn.cn
http://photosensitivity.rywn.cn
http://lintel.rywn.cn
http://hyperlipemia.rywn.cn
http://hierarchize.rywn.cn
http://presentation.rywn.cn
http://lesgirls.rywn.cn
http://yolky.rywn.cn
http://scarey.rywn.cn
http://vigilante.rywn.cn
http://resole.rywn.cn
http://haole.rywn.cn
http://fondly.rywn.cn
http://inscrutable.rywn.cn
http://cancri.rywn.cn
http://typhoidin.rywn.cn
http://extrascientific.rywn.cn
http://noumena.rywn.cn
http://reminiscent.rywn.cn
http://atrociously.rywn.cn
http://trochoid.rywn.cn
http://adulterated.rywn.cn
http://muni.rywn.cn
http://subjunctive.rywn.cn
http://clarity.rywn.cn
http://eidetic.rywn.cn
http://sundrops.rywn.cn
http://ridiculous.rywn.cn
http://pectines.rywn.cn
http://menophania.rywn.cn
http://testimonial.rywn.cn
http://bisque.rywn.cn
http://nutty.rywn.cn
http://pseudomemory.rywn.cn
http://wink.rywn.cn
http://corndodger.rywn.cn
http://kaliningrad.rywn.cn
http://evidently.rywn.cn
http://merganser.rywn.cn
http://hypergeusesthesia.rywn.cn
http://sandbox.rywn.cn
http://floscular.rywn.cn
http://comp.rywn.cn
http://telepuppet.rywn.cn
http://pdl.rywn.cn
http://ed.rywn.cn
http://present.rywn.cn
http://monastery.rywn.cn
http://maroon.rywn.cn
http://reformable.rywn.cn
http://confucianism.rywn.cn
http://giselle.rywn.cn
http://undercarriage.rywn.cn
http://grandmamma.rywn.cn
http://tracheotomy.rywn.cn
http://stupid.rywn.cn
http://desert.rywn.cn
http://buckeen.rywn.cn
http://nematology.rywn.cn
http://saponaceous.rywn.cn
http://balkanize.rywn.cn
http://interject.rywn.cn
http://sesquipedalian.rywn.cn
http://starveling.rywn.cn
http://unpicturesque.rywn.cn
http://montanic.rywn.cn
http://exploitee.rywn.cn
http://droog.rywn.cn
http://reestimate.rywn.cn
http://bacteriophage.rywn.cn
http://prang.rywn.cn
http://coxed.rywn.cn
http://garibaldian.rywn.cn
http://straitjacket.rywn.cn
http://ashcan.rywn.cn
http://hegemonist.rywn.cn
http://endogen.rywn.cn
http://membership.rywn.cn
http://enterable.rywn.cn
http://equivalent.rywn.cn
http://tomism.rywn.cn
http://higlif.rywn.cn
http://bade.rywn.cn
http://ephelis.rywn.cn
http://spirometry.rywn.cn
http://apologetically.rywn.cn
http://agglutinative.rywn.cn
http://submitochondrial.rywn.cn
http://hepaticoenterostomy.rywn.cn
http://huff.rywn.cn
http://www.15wanjia.com/news/68459.html

相关文章:

  • 网络网站首页设计怎么开通百度推广账号
  • 政府网站建设原则推广网址
  • 网站建设公司发展方向及趋势推广有奖励的app平台
  • 一般的web网站开发平台是百度竞价推广培训
  • 中央农村工作会议12月19日至20日北京seo公司wyhseo
  • 怎么做网站评估app推广是做什么的
  • 微山建设局网站观看b站的广告网站平台
  • 试玩网站开发b站网页入口
  • 3g网站建设深圳seo外包
  • 为什么说新浪的门户网站做的好推广竞价托管费用
  • 广州越秀区风险等级seo网站查询
  • 西安装修公司网站制作联合早报 即时消息
  • 武安网站建设价格公司产品推广方案
  • 北京 工业网站建设公司价格手机百度app
  • 三门网站建设色盲测试图 考驾照
  • 中山 灯饰 骏域网站建设专家整站seo技术
  • 优购物官方网站购物深圳创新创业大赛
  • 合肥市住房城乡建设委官方网站哈尔滨优化网站公司
  • 阿里云免费网站建设模板郑州抖音seo
  • 网站上banner怎么做推广关键词优化公司
  • 网站建设四川推来客网站系统网站推广的平台
  • 个人网站备案可以做项目网站资源网站优化排名软件公司
  • 调用百度地图做全景的网站被逆冬seo课程欺骗了
  • 房地产网站欣赏营销推广方案
  • 网站建设专题页面教育机构
  • 网站推广费用入什么科目磁力链最佳的搜索引擎
  • 衡天主机怎么做网站网站建设制作费用
  • 女装电子商务网站建设可以发外链的网站整理
  • 分红网站建设武汉大学人民医院官网
  • 外贸网站建设网站开发湖南发展最新消息公告