Ошибка Gradle при установке RichTextFX с Java 8 - PullRequest
0 голосов
/ 23 февраля 2019

Я пытаюсь использовать RichTextFX , но когда я пытаюсь его использовать, я получаю длинную ошибку (см. Ниже).Я использую IntelliJ IDEA 2018.3.4, JDK 8 и Gradle версии 4.8.1.В настоящее время я пытаюсь установить его: я скачал jar (richtextfx-0.9.2.jar) и переместил его в папку в проекте.Затем я добавляю банку в качестве библиотеки и сохраняю.Затем я перехожу к своему файлу JavaFX и создаю новую область кода CodeArea c = new CodeArea();. Это приведет к большой ошибке.Я думаю, что при установке Gradle произошла ошибка.Я не использовал его раньше, поэтому я очень новичок в этом.

Я могу использовать реальные файлы (если они не скомпилированы в JAR) для запуска предоставленных демонстраций.Это находится в другом проекте, и библиотеки Gradle добавляются как внешние библиотеки при создании проекта.Однако проект, над которым я работаю, не имеет этих дополнительных внешних библиотек.

Любая поддержка в отношении того, что делать, будет принята с благодарностью.Спасибо!

Существуют исключения:

  • java.lang.reflect.InvocationTargetException
  • java.lang.RuntimeException: исключение в методе запуска приложения
  • java.lang.NoClassDefFoundError: org / fxmisc / flowless / Virtualized
  • java.lang.ClassNotFoundException: org.fxmisc.flowless.Virtualized

Проверка кода Java

package demo.javafx;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.Pane;
import javafx.stage.Stage;
import org.fxmisc.richtext.CodeArea;


public class TestRichTextFX extends Application {

    @Override
    public void start(Stage primaryStage) {

        Pane root = new Pane();
        Scene scene = new Scene(root);

        CodeArea c = new CodeArea();


        primaryStage.setAlwaysOnTop(true);
        primaryStage.setTitle("");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

1 Ответ

0 голосов
/ 23 февраля 2019

Вы не можете просто скачать JAR для RichTextFX и добавить его в свой проект.У самого RichTextFX есть зависимости, которые не обеспечит только загрузка JAR.В вашем случае вы видите сообщение о том, что отсутствует зависимость Flowless .Однако вам не нужно загружать JAR-файлы самостоятельно - для этого предназначен Gradle.Вам просто нужно добавить зависимость в ваш скрипт сборки;README из RichTextFX предоставляет пример 1 .

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.fxmisc.richtext:richtextfx:0.9.2'
}

Gradle предоставит вам все необходимые зависимости.Для получения дополнительной информации см. Введение в управление зависимостями .

Обратите внимание, что для этого не нужно объявлять библиотеку в IntelliJ.Если ваш проект настроен как проект Gradle, то IntelliJ увидит зависимости, объявленные в ваших скриптах сборки, и добавит их в проект.Возможно, вам придется «импортировать изменения» после изменения скрипта сборки.Эти справочные страницы предоставляют дополнительную информацию.


1.В примере используется compile, но Gradle рекомендует implementation - по крайней мере, для более поздних версий (compile устарело).Обратите внимание, что проекты Android могут по-прежнему использовать compile, хотя я не уверен.

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