Jenkins 编译JAVA报错:package javafx.util does not exist

一、系统环境

组件 版本
Ubuntu 20.04
openjdk 1.8.0_312
jenkins 2.319.1

二、Bug描述

Ubuntu下mvn编译java程序时报错,但开发环境没有错误

package javafx.util does not exist

三、问题原因

查找代码发现使用了javafx类,该类仅存在OracleJDK中,OpenJDK中没有该类,就算安装了OpenJFX也无法解决

import javafx.util.Pair;

四、解决过程

1、Jenkins多版本JDK

1、配置Jenkins的多版本JDK:Dashboard->全局工具配置->JDK
2、选择JDK版本,选择自动安装
3、或选择服务器上,其他版本JDK路径
Jenkins 编译JAVA报错:package javafx.util does not exist

2、Pipeline指定JDK版本

pipeline {
    agent any

    tools {
    	# 指定使用Jenkins中配置的JDK,此处JDK名字与配置中别名需一致
        jdk 'jdk1.8.0_311'
    }
    ......
}

五、参考鸣谢

一场因OpenJDK引发的血案

上一篇:jenkins+docker+k8s项目发布


下一篇:jenkins结合k8s构建流水线如何提升运行性能和构建效率