使用lombok后,如果没有任何配置,则打包的源码与实际class文件是不符合的,此时打开源码IDEA会提示Library source does not match the bytecode for class,而解决该问题也很简单,只需要pom中增加如下配置即可,打包时指定maven参数-Prelease即可生成正确的源码包: 原理:首先我们要知道Lombok的大概原理,Lombok其实就是在源码处理阶段将Lombok相关注解生成了对应的代码,最终编译时使用的是Lombok生成的源码,但是打包源码时又是使用的我们真正的源码而不是Lombok生成的源码,所以在其他人使用的时候才会提示源码与字节码不匹配,而我们只需要指定Lombok生成的源码作为我们最终生成的源码即可;而maven打包source时默认使用sourceDirectory作为源码目录,所以最终我们只需要将sourceDirectory修改为Lombok生成源码的目录即可; 注意,这里有个细节,就是源码目录的切换我们放到了profile中,而不是全局,为什么这么做呢?因为如果直接在全局修改源码目录,IDEA也会从该目录读取源码,最终会导致类冲突(编译后,如果编译后又clean了不会有该问题),因为我们本身存在一份代码,而Lombok编译后又提供了一份源码,两份源码几乎是一模一样的(除了Lombok注解替换成了代码),所以IDEA会提示类冲突,为了不影响我们正常的开发调试,就把这个功能放到了profile中可选激活,其实本身这个也只有在发布代码的时候才会有用,本地调试是没用的,这样不会有任何影响;