用lombok后,如果没有任何配置,则打包的源码与实际class文件是不符合的,此时打开源码IDEA会提示 Library source does not match the bytecode for class ,而解决该问题也很简单,只需要pom中增加如下配置即可,打包时指定maven参数
-Prelease
即可生成正确的源码包:
<properties> <!-- 原始源码目录,我们后边要将源码目录切换到delombok.dir中 --> <origin.source.dir>src/main/java</origin.source.dir> <!-- 打包生成source时使用的目录 --> <source.generate.dir>src/main/java</source.generate.dir> <!-- lombok生成源码的目录 --> <delombok.dir>${project.build.directory}/delombok</delombok.dir> </properties> <build> <!-- 使用delombok生成的源码目录作为项目的源码目录 --> <sourceDirectory>${source.generate.dir}</sourceDirectory> </build> <profiles> <profile> <!-- 发布profile --> <id>release</id>