记录一次lombok不生效的问题排查

使用lombok生成的getter setter方法,在maven编译时报错error: cannot find symbol

问题原因: 之前在做JSR-269(插件式注解) 相关测试的时候,修改了maven-compiler-plugin插件参数如下:

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.5.1</version>

                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF8</encoding>
                    <proc>none</proc>
                    <fork>true</fork>
                </configuration>
            </plugin>

其中增加了<proc>none</proc>参数,该参数作用为

    none - no annotation processing is performed.; only - only annotation processing is done, no compilation.

当指定none的时候,编译插件不会进行annotation processing也就是注解处理。由于lombok实现原理是基于JSR-269注解处理的方式实现的。故而导致lombok不生效导致编译报错。

另外以下情况注解也不会生效:

    idea未开启annotation processing功能
经验分享 程序员 微信小程序 职场和发展