Не запускается JAR файл

231
25 декабря 2017, 13:04

Написал JavaFX приложение, в настройках проекта настроил Artifacts, и сделал Build Artifacts. Jar Файл создался, но не запускается. В чем может быть причина?

Вот содержимое Main класса

public class Main extends Application {
    @Override
    public void start(Stage primaryStage) throws Exception {
        //Создаем загрузчик для файла fxml
        FXMLLoader fxmlLoader = new FXMLLoader();
        //Загружаем fxml файл
        fxmlLoader.setLocation(getClass().getResource("/phonesapp/fxml/mainScene.fxml"));
        Parent fxmlMain = fxmlLoader.load();
        //получаем контроллер для сцены mainScene вызывая метод getController()
        MainController mainController = fxmlLoader.getController();
        //Вызываем метод setMainStage контроллера MainController, для того чтобы установить для него подмостки (Stage)
        mainController.setMainStage(primaryStage);
        //Для подмостков указываем заголовок, размеры и устанавливаем в качестве сцены окно fxmlMain
        primaryStage.setTitle("Программа для просмотра и редактирования телефонов");
        primaryStage.setMinWidth(800);
        primaryStage.setMinHeight(500);
        primaryStage.setScene(new Scene(fxmlMain));
        primaryStage.show();
    }
    public static void main(String[] args) {
        launch(args);
    }
}

Из Idea все нормально запускается и можно работать.

Вот что вышло при попытке запустить из командной строки

C:\jar>java -jar PhonesApp.jar Exception in Application start method java.lang.reflect.InvocationTargetException at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.base/java.lang.reflect.Method.invoke(Unknown Source) at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(Unknown Source) at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication(Unknown Source) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.base/java.lang.reflect.Method.invoke(Unknown Source) at java.base/sun.launcher.LauncherHelper$FXHelper.main(Unknown Source) Caused by: java.lang.RuntimeException: Exception in Application start method at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication1(Unknown Source) at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(Unknown Source) at java.base/java.lang.Thread.run(Unknown Source) Caused by: javafx.fxml.LoadException: file:/C:/jar/PhonesApp.jar!/phonesapp/fxml/mainScene.fxml

    at javafx.fxml/javafx.fxml.FXMLLoader.constructLoadException(Unknown

Source) at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(Unknown Source) at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(Unknown Source) at javafx.fxml/javafx.fxml.FXMLLoader.load(Unknown Source) at phonesapp.start.Main.start(Main.java:19) at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(Unknown Source) at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$11(Unknown Source) at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$9(Unknown Source) at java.base/java.security.AccessController.doPrivileged(Native Method) at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(Unknown Source) at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(Unknown Source) at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native Method) at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(Unknown Source) ... 1 more Caused by: java.lang.reflect.InvocationTargetException at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.base/java.lang.reflect.Method.invoke(Unknown Source) at com.sun.javafx.reflect.Trampoline.invoke(Unknown Source) at jdk.internal.reflect.GeneratedMethodAccessor2.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.base/java.lang.reflect.Method.invoke(Unknown Source) at javafx.base/com.sun.javafx.reflect.MethodUtil.invoke(Unknown Source) at javafx.fxml/com.sun.javafx.fxml.MethodHelper.invoke(Unknown Source) ... 13 more Caused by: java.lang.NoClassDefFoundError: org/apache/poi/ss/usermodel/Row at java.base/java.lang.Class.getDeclaredConstructors0(Native Method) at java.base/java.lang.Class.privateGetDeclaredConstructors(Unknown Source) at java.base/java.lang.Class.getConstructor0(Unknown Source) at java.base/java.lang.Class.newInstance(Unknown Source) at javafx.fxml/javafx.fxml.FXMLLoader$ValueElement.processAttribute(Unknown Source) at javafx.fxml/javafx.fxml.FXMLLoader$InstanceDeclarationElement.processAttribute(Unknown Source) at javafx.fxml/javafx.fxml.FXMLLoader$Element.processStartElement(Unknown Source) at javafx.fxml/javafx.fxml.FXMLLoader$ValueElement.processStartElement(Unknown Source) at javafx.fxml/javafx.fxml.FXMLLoader.processStartElement(Unknown Source) at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(Unknown Source) at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(Unknown Source) at javafx.fxml/javafx.fxml.FXMLLoader.load(Unknown Source) at phonesapp.controllers.MainController.selectsSceneLoader(MainController.java:195) at phonesapp.controllers.MainController.initialize(MainController.java:120) ... 23 more Caused by: java.lang.ClassNotFoundException: org.apache.poi.ss.usermodel.Row at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source) at java.base/java.lang.ClassLoader.loadClass(Unknown Source) ... 37 more Exception running application phonesapp.start.Main

C:\jar>

READ ALSO
JSOUP+ Picasso. Парсинг картинок

JSOUP+ Picasso. Парсинг картинок

Привет всем молодым перспективным программистамМоя проблема обстоит так: На скриншоте у меня выделен код который отвечает за(как я понял)...

208
Как сменить Javascript на Java в Intellij idea?

Как сменить Javascript на Java в Intellij idea?

Когда нажимаю "new", то там можно создать только файл js, а мне нужно javaКак это исправить?

177