Запускается с IDE, но не с консоли - Java
Формулировка задачи:
Пишу курсовой проект на JavaFX. И чтобы показать его в универе мне нужно запускать с консоли. Из IDEA запускается и работает отлично, ни на что не ругается. А с консоли выдаёт exception'ы.
Запускаю так
Ошибки:
Такое чувство, что он либо неправильно парсит fxml, либо не находит этот файл вообще. Хотя опять же в Идее всё работало. Я java и в том числе javafx совсем недавно занимаюсь, поэтому возможно каких-то очевидных вещей не понимаю.
Вот ещё Main и структура проекта
http://rgho.st/84tVKtNFz/thumb.png
java -classpath C:\Users\Admin\Desktop\kursovaya\SortTester\out\production\SortTester com.SortTester.Main
javafx.fxml.LoadException: /C:/Users/Admin/Desktop/kursovaya/SortTester/out/production/SortTester/com/SortTester/fxml/main.fxml at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2601) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2571) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2441) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3214) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3175) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3148) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3124) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3104) at javafx.fxml.FXMLLoader.load(FXMLLoader.java:3097) at com.SortTester.Main.start(Main.java:17) at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$162(LauncherImpl.java:863) at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$175(PlatformImpl.java:326) at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295) at java.security.AccessController.doPrivileged(Native Method) at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294) at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95) at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at sun.reflect.misc.Trampoline.invoke(Unknown Source) at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at sun.reflect.misc.MethodUtil.invoke(Unknown Source) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2566) ... 17 more Caused by: java.lang.NullPointerException at com.SortTester.ScriptEngineWrapper.loadScripts(ScriptEngineWrapper.java:38) at com.SortTester.Controller.initialize(Controller.java:66) ... 27 more Exception in Application start method java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:389) at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:328) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at sun.launcher.LauncherHelper$FXHelper.main(Unknown Source) Caused by: java.lang.RuntimeException: Exception in Application start method at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:917) at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$155(LauncherImpl.java:182) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.NullPointerException: Root cannot be null at javafx.scene.Scene.<init>(Scene.java:336) at javafx.scene.Scene.<init>(Scene.java:223) at com.SortTester.Main.start(Main.java:22) at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$162(LauncherImpl.java:863) at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$175(PlatformImpl.java:326) at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295) at java.security.AccessController.doPrivileged(Native Method) at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294) at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95) at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191) ... 1 more Exception running application com.SortTester.Main
public class Main extends Application { @Override public void start(Stage primaryStage) throws IOException { FXMLLoader fxmlLoader = new FXMLLoader(); fxmlLoader.setLocation(getClass().getResource("fxml/main.fxml")); Parent root = fxmlLoader.load(); primaryStage.setTitle("Sort Tester"); primaryStage.setScene(new Scene(root, 800, 400)); primaryStage.setResizable(false); primaryStage.show(); } public static void main(String[] args) { launch(args); } }
Решение задачи: «Запускается с IDE, но не с консоли»
textual
Листинг программы
Caused by: java.lang.NullPointerException at com.SortTester.ScriptEngineWrapper.loadScripts(ScriptEngineWrapper.java:38) at com.SortTester.Controller.initialize(Controller.java:66)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д