Я работаю над проектом Maven Java для школьного задания.Мы должны использовать Gitlab для хранения нашей работы и совместной работы с товарищами по команде.
До этого проекта я не слышал ни о Maven, ни о Gitlab (хотя я использовал Git и Github в прошлых проектах), поэтому я не уверен, чтоЯ делаю очевидную ошибку, или если я пропустил что-то важное в своем исследовании, поэтому, пожалуйста, простите.
Я использую JavaFX для GUI, включая репозиторий под названием JFoenix, который я добавил в качестве зависимости в моем pom.xmlфайл.В моей IDE (Jetbrains) проект создается и выполняется без ошибок, все тесты проходят, и все работает, как ожидалось.
Однако, когда я фиксирую Gitlab, любые коммиты завершаются неудачно, потому что Maven не может создатьприложение в Gitlab.Это ошибка:
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /tmp/build/src/main/java/application/controllers/AppFrameController.java:[5,19] error: cannot access ActionEvent
[INFO] 1 error
[INFO] -------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] -------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5:compile (default-compile) on project OOP-Project: Compilation failure
[ERROR] /tmp/build/src/main/java/application/controllers/AppFrameController.java:[5,19] error: cannot access ActionEvent
Из-за этих ошибок я считаю, что сборка завершается сбоем, потому что Gitlab по какой-то причине не распознает JavaFX-класс ActionEvent.Это соответствующий раздел кода со всеми моими импортами в классе AppFrameController:
import com.jfoenix.controls.JFXButton;
import javafx.event.ActionEvent; //This is the line causing the error
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.scene.Node;
import javafx.scene.Parent;
import javafx.scene.layout.AnchorPane;
import javafx.stage.Popup;
import javafx.stage.Stage;
import java.io.IOException;
Первый импорт для класса JFoenix и не вызывает никаких ошибок, что имеет смысл, потому что JFeonix включен какзависимость.Я подумал, что, возможно, версия Java, используемая Gitlab, не включает JavaFX, поэтому я добавил библиотеку JavaFX также в качестве зависимости в моем файле pom.xml:
<dependency>
<groupId>com.jfoenix</groupId>
<artifactId>jfoenix</artifactId>
<version>8.0.8</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>11.0.2</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-base</artifactId>
<version>11.0.2</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-graphics</artifactId>
<version>11.0.2</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-media</artifactId>
<version>11.0.2</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-web</artifactId>
<version>11.0.2</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-swing</artifactId>
<version>11.0.2</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-fxml</artifactId>
<version>11.0.2</version>
</dependency>
Это не решило проблему, и яя все еще получаю ту же ошибку и сбой сборки в Gitlab.Я не понимаю, почему это происходит, поскольку я добавил JavaFX в качестве зависимости, не должно ли мое приложение иметь доступ к классу ActionEvent?Кроме того, почти каждый из моих классов контроллеров до сих пор импортирует класс ActionEvent, но AppFrameController - единственный класс, который выдает ошибку в Gitlab.
Некоторая дополнительная информация:
В моемIDE, Project SDK - это jdk 1.8
Уровень языка установлен на 8. Я не уверен, что что-то из этого имеет значение.
Если кто-нибудь может объяснить мне, почему эта сборка mavenсбой происходит на Gitlab, но не в моей IDE, тогда я буду чрезвычайно благодарен.