java:找不到符号符号: 变量 log解决方案

最近有个项目频繁的遇到这个问题.经常启动不起来,但是提代码正常.
这个问题是由于lombok插件未加载导致的@Slf4j的日志异常.
解决思路:
1.插件里面写在lombok再重新安装.无效
2.重新加载项目.无效
3.重新构建项目.无效
4.删除代码重下代码.无效
5.检查该配置是否打开,已打开
在这里插入图片描述
6.在Compiler中增加参数配置:-Djps.track.ap.dependencies=false
在这里插入图片描述
启动成功.
该配置:用于控制 IDEA 在编译时是否跟踪注解处理器的依赖。启用后,JPS 不会重新编译由于注解处理器生成代码而引发的依赖变化,从而加快编译速度。

### Java 编译错误 '不到符号' 变量 `log` 的解决方案 当遇到Java编译器报告“不到符号”的错误,特别是针对变量`log`时,这通常是由于日志框架或Lombok插件配置不当引起的。以下是详细的分析和解决办法: #### 原因分析 此问题可能由以下几个方面引起: - **缺少必要的导入语句**:如果没有正确引入日志记录库(如SLF4J),那么即使声明了`log`对象也无法识别。 - **Lombok 注解处理失败**:如果使用了 Lombok 库中的 `@Slf4j` 或其他类似的注解来简化日志初始化代码,则可能是由于 IDE 中的 Lombok 插件未能正常工作所致。 #### 解决方案 ##### 方法一:确认并添加适当的依赖项 确保项目的构建文件中包含了所需的日志库及其版本。对于 Maven 项目,在`pom.xml`中加入如下片段[^1]: ```xml <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.36</version> </dependency> <!-- 如果使用Logback作为实现 --> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.2.11</version> </dependency> ``` ##### 方法二:验证IDE设置与插件状态 检查集成开发环境(IDE),比如 IntelliJ IDEA 是否已经安装并且启用了 Lombok 插件。可以通过以下路径访问插件管理界面:“File -> Settings -> Plugins”,搜索"Lombok Plugin" 并确保其处于激活状态[^2]。 另外,还需要保证在编译选项里指定了正确的注解处理器路径。对于基于模块化的 JDK 版本 (即 JDK9+) ,可以在 pom 文件内指定 annotationProcessorPaths 来包含 lombok jar包的位置[^5]: ```xml <build> ... <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <annotationProcessorPaths> <path> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>${lombok.version}</version> </path> </annotationProcessorPaths> </configuration> </plugin> </plugins> ... </build> ``` ##### 方法三:调整编译参数以绕过某些特定情况下的问题 有时为了防止因为注解处理器而导致不必要的重新编译行为,可以考虑向 JVM 参数列表中追加 `-Djps.track.ap.dependencies=false` 。这样做的目的是让 JPS 不去追踪那些由 APs (Annotation Processors)所生成代码所带来的潜在影响,进而提高整体效率的同时也可能规避掉一些难以捉摸的小毛病[^4]. ```bash -Djps.track.ap.dependencies=false ``` 通过上述措施应该能够有效缓解乃至彻底消除 “java: 不到符号 符号: 变量 log” 这样的编译期警告/错误提示信息。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值