Запускается с IDE, но не с консоли - Java

Узнай цену своей работы

Формулировка задачи:

Пишу курсовой проект на JavaFX. И чтобы показать его в универе мне нужно запускать с консоли. Из IDEA запускается и работает отлично, ни на что не ругается. А с консоли выдаёт exception'ы. Запускаю так
Листинг программы
  1. java -classpath C:\Users\Admin\Desktop\kursovaya\SortTester\out\production\SortTester com.SortTester.Main
Ошибки:
Листинг программы
  1. javafx.fxml.LoadException:
  2. /C:/Users/Admin/Desktop/kursovaya/SortTester/out/production/SortTester/com/SortTester/fxml/main.fxml
  3. at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2601)
  4. at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2571)
  5. at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2441)
  6. at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3214)
  7. at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3175)
  8. at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3148)
  9. at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3124)
  10. at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3104)
  11. at javafx.fxml.FXMLLoader.load(FXMLLoader.java:3097)
  12. at com.SortTester.Main.start(Main.java:17)
  13. at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$162(LauncherImpl.java:863)
  14. at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$175(PlatformImpl.java:326)
  15. at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295)
  16. at java.security.AccessController.doPrivileged(Native Method)
  17. at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294)
  18. at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
  19. at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
  20. at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191)
  21. at java.lang.Thread.run(Unknown Source)
  22. Caused by: java.lang.reflect.InvocationTargetException
  23. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  24. at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
  25. at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
  26. at java.lang.reflect.Method.invoke(Unknown Source)
  27. at sun.reflect.misc.Trampoline.invoke(Unknown Source)
  28. at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
  29. at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
  30. at java.lang.reflect.Method.invoke(Unknown Source)
  31. at sun.reflect.misc.MethodUtil.invoke(Unknown Source)
  32. at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2566)
  33. ... 17 more
  34. Caused by: java.lang.NullPointerException
  35. at com.SortTester.ScriptEngineWrapper.loadScripts(ScriptEngineWrapper.java:38)
  36. at com.SortTester.Controller.initialize(Controller.java:66)
  37. ... 27 more
  38. Exception in Application start method
  39. java.lang.reflect.InvocationTargetException
  40. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  41. at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
  42. at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
  43. at java.lang.reflect.Method.invoke(Unknown Source)
  44. at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:389)
  45. at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:328)
  46. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  47. at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
  48. at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
  49. at java.lang.reflect.Method.invoke(Unknown Source)
  50. at sun.launcher.LauncherHelper$FXHelper.main(Unknown Source)
  51. Caused by: java.lang.RuntimeException: Exception in Application start method
  52. at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:917)
  53. at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$155(LauncherImpl.java:182)
  54. at java.lang.Thread.run(Unknown Source)
  55. Caused by: java.lang.NullPointerException: Root cannot be null
  56. at javafx.scene.Scene.<init>(Scene.java:336)
  57. at javafx.scene.Scene.<init>(Scene.java:223)
  58. at com.SortTester.Main.start(Main.java:22)
  59. at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$162(LauncherImpl.java:863)
  60. at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$175(PlatformImpl.java:326)
  61. at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295)
  62. at java.security.AccessController.doPrivileged(Native Method)
  63. at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294)
  64. at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
  65. at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
  66. at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191)
  67. ... 1 more
  68. Exception running application com.SortTester.Main
Такое чувство, что он либо неправильно парсит fxml, либо не находит этот файл вообще. Хотя опять же в Идее всё работало. Я java и в том числе javafx совсем недавно занимаюсь, поэтому возможно каких-то очевидных вещей не понимаю. Вот ещё Main и структура проекта
Листинг программы
  1. public class Main extends Application {
  2. @Override
  3. public void start(Stage primaryStage) throws IOException {
  4. FXMLLoader fxmlLoader = new FXMLLoader();
  5. fxmlLoader.setLocation(getClass().getResource("fxml/main.fxml"));
  6. Parent root = fxmlLoader.load();
  7. primaryStage.setTitle("Sort Tester");
  8. primaryStage.setScene(new Scene(root, 800, 400));
  9. primaryStage.setResizable(false);
  10. primaryStage.show();
  11. }
  12.  
  13. public static void main(String[] args) {
  14. launch(args);
  15. }
  16. }
http://rgho.st/84tVKtNFz/thumb.png

Решение задачи: «Запускается с IDE, но не с консоли»

textual
Листинг программы
  1. Caused by: java.lang.NullPointerException
  2.     at com.SortTester.ScriptEngineWrapper.loadScripts(ScriptEngineWrapper.java:38)
  3.     at com.SortTester.Controller.initialize(Controller.java:66)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут