问题背景:


安装了lombok插件、pom文件添加了依赖,idea查看代码没有报红,表面看,lombok生效了,效果如下:

maven clean、install也都是成功的,注解解释器也是开启的:

但编译失败,错误是找不到被lombok注解标记的类,且注解处理器的path这里总是指向unknown.jar,手动指定为正确lombok.jar后,maven重新构建依然重新指向unknown.jar的包。

解决办法:

1. 找到lombok依赖,在maven仓库位置的\org\projectlombok文件夹,(我的位置是:D:\maven\localRepository\org\projectlombok),删除lombok、unknown目录。

2. 打开项目里面的.idea/compiler.xml,这里面保存了注解处理器所使用的lombok路径,如果是unknown.jar,就是错误的,改成正确地址,如下图:

3.根本原因在pom文件里没有指定lombok版本:

   <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.11.0</version>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target> 
                    <encoding>UTF-8</encoding>
                    <annotationProcessorPaths>
                        <path>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                            <version>${lombok.version}</version> <!-- 指定版本 -->
                        </path>
                    </annotationProcessorPaths>
                </configuration>
            </plugin>
   
        </plugins>
    </build>

4. 执行maven的clean install,查看注解处理器的path是否指向正常的地址。一切都正常,即可编译通过。

还是报错,清除idea缓存再重来一遍

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐