неправильный контейнер: пакет javafx.util не существует - PullRequest
1 голос
/ 28 июня 2019

я реализую JavaFX-приложение и использую Cirrus-CI для непрерывной интеграции для Github.

это моя конфигурация сборки .cirrus.yml:

container:
  image: maven:3.6.1-jdk-8

build_task:
  build_script: mvn clean compile test sonar:sonar

Во время сборки возникают проблемы с поиском библиотеки JavaFX из установленного JDK (эти строки журнала ошибок являются лишь примерами, их много и многое другое):

[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 он работает ...

Вопрос:

Какова правильная настройка (Определение сборки Cirrus), которая включает в себя JDK с JavaFx?(или я делаю что-то совершенно не так?)

1 Ответ

1 голос
/ 28 июня 2019

Вам необходимо установить 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...