JavaFX jar не загружается с файлом JAR, но загружается нормально при компиляции кода как приложения - PullRequest
0 голосов
/ 19 января 2019

Я могу прекрасно собрать и запустить программу при компиляции как приложения в IntelliJ. Однако ничего не происходит, когда я упаковываю и развертываю и пытаюсь дважды щелкнуть по банке. Я решил использовать Git Bash и запустить его оттуда, и я вижу, что он генерирует исключение NullPointerException. Ниже приведен основной класс JavaFX, моя файловая структура и выдаваемая ошибка.

Почему я получаю исключение NullPointerException в банке, но работает нормально, когда я собираю и компилирую в IntelliJ?

Пожалуйста, дайте мне знать, если я оставлю какую-либо информацию. Спасибо!

public class Main extends Application {

    private Stage stage;

    @Override
    public void start(Stage stage){
        this.stage = stage;
        this.stage.setTitle("My JavaFX App");
        initRootlayout();
    }

    private void initRootlayout(){
        try{
            Parent root = FXMLLoader.load(getClass().getResource("/view/main.fxml"));
            Scene scene = new Scene(root);
            stage.setScene(scene);
            scene.getStylesheets().add("css/default.css");
            stage.setResizable(false);
            stage.show();
        }

        catch(Exception e){
            throw new RuntimeException(e);
        }
    }

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

File Structure

Error being thrown

1 Ответ

0 голосов
/ 19 января 2019

проверяйте ваш jar-контент, в основном, он отсутствует в вашей папке ресурсов. если вы создаете банку с помощью IntelliJ Artifacts, убедитесь, что вы включили папку ресурсов в jar, Файл -> Структура проекта -> Артефакты -> Выберите свой артефакт -> вкладка макета вывода -> add copy of -> Содержимое каталога -> Выберите папку ресурсов. затем восстановите свою банку

...