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

同一Jenkins Pipeline脚本跨项目异常:tools.jar缺失求助

Maven编译报错:tools.jar not found

错误日志

[INFO] Changes detected - recompiling the module! :dependency
[INFO] Compiling 7 source files with javac [debug target 1.8] to target/classes
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  36.513 s
[INFO] Finished at: 2023-11-16T05:23:59Z
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.11.0:compile (default-compile) on project project-name: Fatal error compiling: tools.jar not found: /usr/lib/jvm/java-8-amazon-corretto/../lib/tools.jar -> [Help 1]

已确认的环境信息

Jenkins Pipeline中检查Java版本正常:

[Pipeline] sh
+ java -version
openjdk version "1.8.0_392"
OpenJDK Runtime Environment Corretto-8.392.08.1 (build 1.8.0_392-b08)
OpenJDK 64-Bit Server VM Corretto-8.392.08.1 (build 25.392-b08, mixed mode)
[Pipeline] sh
+ javac -version
javac 1.8.0_392

同一Pipeline脚本在其他项目可正常运行,当前项目出现此问题,可能的原因:

  • 项目Maven配置硬编码了JDK路径:检查当前项目的pom.xml,看maven-compiler-plugin是否强制指定了tools.jar路径或非Corretto的JDK home,导致路径解析错误。
  • Corretto 8的目录结构特殊性:Amazon Corretto 8的tools.jar位置和常规Oracle JDK有差异,常规JDK 8的tools.jar在JDK_HOME/lib/下,但Corretto的实际路径可能不在报错提示的/usr/lib/jvm/java-8-amazon-corretto/../lib/,项目配置未适配这个差异。
  • Jenkins项目专属环境变量异常:全局Java版本正常,但当前项目可能单独配置了错误的JAVA_HOME(指向JRE而非JDK),JRE中不存在tools.jar,导致Maven找不到文件。
  • 项目插件版本或依赖冲突:当前项目的maven-compiler-plugin版本(3.11.0)可能和其他项目不一致,或者项目内其他插件修改了编译环境参数,引发路径解析问题。
  • Jenkins工作空间缓存残留:当前项目的Jenkins工作空间存在旧编译缓存或配置文件,清理工作空间后重新构建可排查此问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 02:33:30