美文网首页
lombok导致maven编译失败

lombok导致maven编译失败

作者: zhimin_ | 来源:发表于2025-04-06 21:03 被阅读0次

现象

控制台显示编译成功,target/classes文件夹自动创建成功,xml等静态文件复制成功。
控制台日志显示编译java文件,没有任何报错信息,但是classes文件夹下却没有class文件生成

结论

lombok注解处理器问题,显式指定注解处理器

排查过程

已经排查过下列配置

  1. maven 配置检查正确
  2. jdk版本检查正确
  3. 控制台显示编译成功
  4. 源码目录使用maven默认的 src/main/java
  5. resources文件正确复制,class文件消失

可能有什么失败日志被隐藏,于是打开编译详细日志

    <build>
        <pluginManagement>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-compiler-plugin</artifactId>
                        <configuration>
                            <source>1.8</source> 
                            <target>1.8</target>

                            <!-- 添加详细日志 -->
                            <verbose>true</verbose>
                            <showWarnings>true</showWarnings>
                
                        </configuration>
                    </plugin>
                </plugins>
        </pluginManagement>
    </build>

于是在控制台看到错误日志,显示Lombok存在问题。查阅资料后了解到maven默认会自动发现注解处理器,但在某些情况下会失效,此时需要显式配置 annotationProcessorPaths

在父pom中的完整

    <build>
        <pluginManagement>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-compiler-plugin</artifactId>
                        <configuration>
                            <source>1.8</source>  <!-- 改为你的Java版本 -->
                            <target>1.8</target>
                            <!-- 添加注解处理器,当有多个时,注意按照正确顺序配置 -->
                            <annotationProcessorPaths>
                                <path>
                                    <groupId>org.projectlombok</groupId>
                                    <artifactId>lombok</artifactId>
                                    <version>1.18.30</version>
                                </path>
                            </annotationProcessorPaths>
                        </configuration>
                    </plugin>
                </plugins>
        </pluginManagement>
    </build>

相关文章

网友评论

      本文标题:lombok导致maven编译失败

      本文链接:https://www.haomeiwen.com/subject/pgdrvjtx.html