Bitbucket管道-MVN全新安装不适用于JavaFX
问题描述:
我正在使用Bitbucket Pipelines从我们的大学构建一个项目.
I am using Bitbucket Pipelines for building a project from our university.
这是我来自bitbucket-pipelines.yml的配置:
Here is my configuration from bitbucket-pipelines.yml:
image: maven:3.3.9-jdk-8
pipelines:
default:
- step:
script: # Modify the commands below to build your repository.
- mvn -f EasyDiet_JavaFX_View/pom.xml clean install
这是一些编译错误->与JavaFX有关:
And here is some of the compilation error -> relates to JavaFX:
ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /opt/atlassian/pipelines/agent/build/EasyDiet_JavaFX_View/src/at/fhv/easyDiet/teamC/presentation/patientFile/PatientFileController.java:[11,19] package javafx.fxml does not exist
[ERROR] /opt/atlassian/pipelines/agent/build/EasyDiet_JavaFX_View/src/at/fhv/easyDiet/teamC/presentation/patientFile/PatientFileController.java:[12,28] package javafx.scene.control does not exist
[ERROR] /opt/atlassian/pipelines/agent/build/EasyDiet_JavaFX_View/src/at/fhv/easyDiet/teamC/presentation/patientFile/PatientFileController.java:[13,27] package javafx.scene.layout does not exist
[ERROR] /opt/atlassian/pipelines/agent/build/EasyDiet_JavaFX_View/src/at/fhv/easyDiet/teamC/presentation/patientFile/PatientFileController.java:[14,27] package javafx.scene.layout does not exist
[ERROR] /opt/atlassian/pipelines/agent/build/EasyDiet_JavaFX_View/src/at/fhv/easyDiet/teamC/presentation/patientFile/PatientFileController.java:[15,20] package javafx.stage does not exist
[ERROR] /opt/atlassian/pipelines/agent/build/EasyDiet_JavaFX_View/src/at/fhv/easyDiet/teamC/presentation/patientFile/PatientFileController.java:[27,13] cannot find symbol
symbol: class VBox
location: class at.fhv.easyDiet.teamC.presentation.patientFile.PatientFileController
[ERROR] /opt/atlassian/pipelines/agent/build/EasyDiet_JavaFX_View/src/at/fhv/easyDiet/teamC/presentation/patientFile/PatientFileController.java:[29,13] cannot find symbol
symbol: class BorderPane
location: class at.fhv.easyDiet.teamC.presentation.patientFile.PatientFileController
[ERROR] /opt/atlassian/pipelines/agent/build/EasyDiet_JavaFX_View/src/at/fhv/easyDiet/teamC/presentation/patientFile/PatientFileController.java:[336,12] cannot find symbol
symbol: class Stage
location: class at.fhv.easyDiet.teamC.presentation.patientFile.PatientFileController
以下是构建失败的一些输出:
And here some output of the build failure:
INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 12.828 s
[INFO] Finished at: 2016-10-19T10:18:57+00:00
[INFO] Final Memory: 19M/282M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.3:compile (default-compile) on project easydiet-view: Compilation failure: Compilation failure:
[ERROR] /opt/atlassian/pipelines/agent/build/EasyDiet_JavaFX_View/src/at/fhv/easyDiet/teamC/presentation/patientFile/PatientFileController.java:[11,19] package javafx.fxml does not exist
[ERROR] /opt/atlassian/pipelines/agent/build/EasyDiet_JavaFX_View/src/at/fhv/easyDiet/teamC/presentation/patientFile/PatientFileController.java:[12,28] package javafx.scene.control does not exist
[ERROR] /opt/atlassian/pipelines/agent/build/EasyDiet_JavaFX_View/src/at/fhv/easyDiet/teamC/presentation/patientFile/PatientFileController.java:[13,27] package javafx.scene.layout does not exist
[ERROR] /opt/atlassian/pipelines/agent/build/EasyDiet_JavaFX_View/src/at/fhv/easyDiet/teamC/presentation/patientFile/PatientFileController.java:[14,27] package javafx.scene.layout does not exist
[ERROR] /opt/atlassian/pipelines/agent/build/EasyDiet_JavaFX_View/src/at/fhv/easyDiet/teamC/presentation/patientFile/PatientFileController.java:[15,20] package javafx.stage does not exist
[ERROR] /opt/atlassian/pipelines/agent/build/EasyDiet_JavaFX_View/src/at/fhv/easyDiet/teamC/presentation/patientFile/PatientFileController.java:[27,13] cannot find symbol
[ERROR] symbol: class VBox
[ERROR] location: class at.fhv.easyDiet.teamC.presentation.patientFile.PatientFileController
[ERROR] /opt/atlassian/pipelines/agent/build/EasyDiet_JavaFX_View/src/at/fhv/easyDiet/teamC/presentation/patientFile/PatientFileController.java:[29,13] cannot find symbol
[ERROR] symbol: class BorderPane
[ERROR] location: class at.fhv.easyDiet.teamC.presentation.patientFile.PatientFileController
如果我在Mac上本地构建它,则可以正常工作,但是,如果我尝试使用Bitbucket Pipelines,则只会得到那些错误.我已经尝试使用默认的maven:3.3.3图像.
If i build it locally on my Mac it works fine, but if i try with Bitbucket Pipelines i only get those errors. I have already tried with the default maven:3.3.3 image.
如何在Bitbucket管道中构建JavaFX?
How is it possible to build JavaFX in Bitbucket Pipelines?
答
这对我有用:
image: maven:3-jdk-8
pipelines:
default:
- step:
script: # Modify the commands below to build your repository.
- apt-get update
- apt-get install -y openjfx
- mvn clean install