You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

mvn package执行失败,报JCTree$JCImport字段缺失错误求助

问题分析

报错java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport does not have member field 'com.sun.tool'的核心原因有两点:

  1. POM文件存在XML语法错误:<build><plugins>标签内嵌套了另一个<plugins>,导致Maven无法正确读取你配置的maven-compiler-plugin:3.11.8,实际使用的是Spring Boot父依赖中默认的3.11.0版本,该版本与Java 17的编译器API存在兼容问题。
  2. Lombok版本与Spring Boot 3.1.3不匹配:你手动指定的Lombok 1.18.30版本,与Spring Boot 3.1.3依赖的Lombok版本(1.18.32)存在差异,可能引发编译期字节码处理冲突。
解决方案

步骤1:修复POM的Plugins嵌套错误

将<build>内嵌套的<plugins>标签删除,把内部的插件直接移到外层<plugins>下。修改后的<build>部分如下:

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <excludes>
                    <exclude>
                        <groupId>org.projectlombok</groupId>
                        <artifactId>lombok</artifactId>
                    </exclude>
                </excludes>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <version>3.2.0</version>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.11.8</version>
            <configuration>
                <source>17</source>
                <target>17</target>
            </configuration>
        </plugin>
    </plugins>
</build>

步骤2:对齐Lombok版本与Spring Boot父依赖

删除Lombok依赖中手动指定的<version>标签,让Spring Boot父依赖自动管理兼容版本:

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <!-- 移除手动指定的版本,使用父依赖的兼容版本 -->
</dependency>

步骤3:清理Maven缓存并重新构建

执行以下命令强制清理缓存、更新依赖并打包:

mvn clean package -U
补充说明

如果上述步骤仍未解决问题,可以尝试将maven-compiler-plugin版本升级到3.12.1(该版本对Java 17的兼容性更好),修改后的插件配置如下:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.12.1</version>
    <configuration>
        <source>17</source>
        <target>17</target>
    </configuration>
</plugin>

内容的提问来源于stack exchange,提问作者Dekay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 22:46:08