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

JDK22环境下GitLab Pages Maven流水线生成Javadoc失败排查

解决maven-compiler-plugin 3.11.0不支持JDK22的问题

你的问题核心是maven-compiler-plugin 3.11.0版本过旧,未适配JDK22(包括早期访问版本),按以下步骤解决:

1. 升级maven-compiler-plugin版本

maven-compiler-plugin从3.12.0开始正式支持JDK22,在父pom.xml的pluginManagement中统一更新版本(多模块项目只需在父pom配置,子模块自动继承):

<build>
  <pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.12.0</version> <!-- 也可以用更高版本如3.13.0 -->
        <configuration>
          <release>22</release> <!-- 推荐用release替代source/target,适配JDK9+的模块化规范 -->
        </configuration>
      </plugin>
    </plugins>
  </pluginManagement>
</build>

2. 确保GitLab CI环境使用JDK22

在.gitlab-ci.yml中指定包含JDK22的Maven镜像,避免CI环境用旧版JDK:

image: maven:3.9.6-eclipse-temurin-22

pages:
  script:
    - mvn clean javadoc:javadoc
    - mv target/site/apidocs public # 将生成的Javadoc移动到GitLab Pages要求的public目录
  artifacts:
    paths:
      - public
  only:
    - main # 根据你的分支调整,比如master

3. 兼容极端情况(可选)

如果JDK22是极早期的EA版本,插件仍无法识别,可在编译配置中添加强制参数:

<configuration>
  <release>22</release>
  <compilerArgs>
    <arg>--add-modules</arg>
    <arg>java.se</arg>
  </compilerArgs>
</configuration>

同时确保Maven版本不低于3.8.6,低版本Maven对新JDK的兼容性较差。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 09:35:01