Как добавить локальную библиотеку в gradle, что бы оно запустилось?

Рейтинг: 0Ответов: 1Опубликовано: 02.07.2023

мой build.gradle

plugins {
    id 'java'   
    id 'application'
}

repositories {
    mavenCentral()
    flatDir {
        dirs 'C:\\Program Files\\openjfx-17.0.7_windows-x64_bin-sdk\\javafx-sdk-17.0.7\\lib'
    }
}

mainClassName = 'ru.danteproject.App'


dependencies {
    implementation fileTree(dir: 'C:\\Program Files\\openjfx-17.0.7_windows-x64_bin-sdk\\javafx-sdk-17.0.7\\lib', include: '*.jar')     
}
package ru.danteproject;

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.fxml.FXML;
import javafx.scene.control.Label;

import java.io.IOException;

public class App extends Application {

    @Override
    public void start(Stage stage) throws IOException {
        HelloController helloController;
        FXMLLoader fxmlLoader = new FXMLLoader(App.class.getResource("hello-view.fxml"));
        Scene scene = new Scene(fxmlLoader.load(), 320, 240);
        stage.setTitle("Hello!");
        stage.setScene(scene);
        stage.show();

    }

    public static void main(String[] args) {
        System.out.println("Hello Java");
        launch();
    }
}



class HelloController {
    @FXML
    private Label welcomeText;

    @FXML
    protected void onHelloButtonClick() {
        welcomeText.setText("Welcome to JavaFX Application!");
    }
}

При запуске получаю

JavaFX runtime components are missing, and are required to run this application

Не понимаю, как правильно подключить локальную OpenJFX sdk. Документацию gradle пока еще тяжело разбирать. с помощью гугла и гпт смог собрать этот конфиг, но не понимаю, что еще нужно сделать. Может кто дать ответ, как это отредактировать, что бы заработало? Я понимаю, что можно взять все из mavenCentral, интерес тут в том, что бы понять , как собрать с локальной библиотекой.

структура проекта

Ответы

▲ -1

Документация Groovy предлагает использовать относительный путь для локальной зависимости jar.

dependencies {
    implementation files('libs/something_local.jar')
}

Более простой вариант, воспользоваться IntelliJ. Открой структуру проекта, Project Structure

перейди в раздел библиотеки, Libraries

нажми плюсик и выбери Java из выпадающего списка, Add

в диалоговом окне найди свой jar и нажми OK.