我正在实施一个 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。
添加回答
举报
0/150
提交
取消