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

Maven编译报错求助:执行maven-compiler-plugin出现初始化异常

解决Maven编译报错:java.lang.ExceptionInInitializerError: com.sun.tools.javac.code.TypeTags

问题原因

你遇到的这个错误核心是maven-compiler-plugin版本与当前Java环境不兼容:

  • 你当前使用的是Java 11,但Spring Boot 2.2.1.RELEASE默认依赖的maven-compiler-plugin:3.8.1是基于Java 8的javac内部API开发的。而Java 9及以上版本已经移除了com.sun.tools.javac.code.TypeTags这个内部类,直接导致编译时触发初始化异常。
  • 另外你的pom.xml里指定了<java.version>1.8</java.version>,但实际运行环境是Java 11,版本不匹配也会加剧这个冲突。

解决方案

推荐你调整pom配置适配Java 11环境,具体步骤如下:

  1. 更新pom中的Java版本配置
    把<properties>里的java.version改为11,让Maven明确知道你要编译的目标Java版本:
<properties>
    <java.version>11</java.version>
    <maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
</properties>
  1. 显式指定兼容Java 11的maven-compiler-plugin版本
    在<build><plugins>中添加compiler插件配置,使用3.9.0及以上版本(该版本开始全面支持Java 9+):
<build>
    <outputDirectory>src/main/webapp/WEB-INF/classes</outputDirectory>
    <plugins>
        <!-- 新增maven-compiler-plugin适配配置 -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.9.0</version>
            <configuration>
                <release>11</release>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>
  1. 重新执行编译命令
    先清理之前的编译缓存,再执行install命令:
mvn clean install

可选方案(若想继续使用Java 8)

如果你不需要Java 11的特性,也可以把本地环境切换回Java 8,确保java -version显示为1.8.x版本,之后直接执行mvn install即可,无需修改pom配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 18:02:32