为了账号安全,请及时绑定邮箱和手机立即绑定

容器错误:包 javafx.util 不存在

容器错误:包 javafx.util 不存在

慕丝7291255 2023-02-23 16:29:00
我正在实施一个 JavaFX 应用程序并使用Cirrus-CI为 Github 进行持续集成。这是我的构建配置.cirrus.yml:container:   image: maven:3.6.1-jdk-8build_task:   build_script: mvn clean compile test sonar:sonar在构建期间,它在从已安装的 JDK 中查找 JavaFX 库时遇到问题(这些错误日志行只是示例,还有更多):[ERROR] /tmp/cirrus-ci-build/src/main/java/com/github/martinfrank/catansettler/gui/ControllerFactory.java:[4,19] package javafx.util does not exist [ERROR] /tmp/cirrus-ci-build/src/main/java/com/github/martinfrank/catansettler/gui/alert/GameSetupAlertController.java:[6,28] package javafx.scene.control does not exist笔记:当然,在我本地的 DevEnvirnment 中它正在工作......问题:包含带有 JavaFx 的 JDK 的正确设置(Cirrus 构建定义)是什么?(或者我在这里做错了什么?)
查看完整描述

1 回答

?
BIG阳

TA贡献1859条经验 获得超6个赞

您需要安装openjfx. 你可以这样做:


container:

  image: maven:3.6.1-jdk-8


build_task:

  install_script:

    - apt-get update 

    - apt-get install --no-install-recommends -y openjfx

  build_script: mvn clean compile test sonar:sonar

您还可以考虑使用Dockerfile 作为 CI 环境功能并创建一个像这样的 Dockerfile(.ci/Dockerfile在您的存储库中使用相对路径):


FROM maven:3.6.1-jdk-8


RUN apt-get update \

    && apt-get install --no-install-recommends -y openjfx \

    && apt-get clean \

    && rm -f /var/lib/apt/lists

而你在你的.cirrus.yml:


build_task:

  container:

    dockerfile: .ci/Dockerfile

  build_script: mvn clean compile test sonar:sonar

这将减少执行脚本所需的 30-40 秒install。


查看完整回答
反对 回复 2023-02-23
  • 1 回答
  • 0 关注
  • 93 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信