Не работает html-файл FXML-проекта
Используя JavaFX, NetBeans и Tomcat, делаю приложение, возвращающее юзеру ответ на запрос. Юзер должен использовать его через интернет.
NetBeans, при создании нового FXML проекта, сразу делает шаблон, отвечающий условиям задачи. После сборки jar-файл открывается и работает, а вот html-файл выдает runtime error следующего вида:
Java Plug-in 11.311.2.11
Using JRE version 1.8.0_311-b11 Java HotSpot(TM) Client VM
FXModalityHelper.installModalityListenersun.plugin2.main.client.PluginMain@59c656
java.lang.NullPointerException: Location is required.
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3207)
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 fxmlapp.FXMLAPP.start(FXMLAPP.java:22)
at com.sun.javafx.applet.FXApplet2$2.run(FXApplet2.java:134)
at com.sun.javafx.application.PlatformImpl.lambda$null$5(PlatformImpl.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$6(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$4(WinApplication.java:185)
at java.lang.Thread.run(Unknown Source)
Exception in thread "JavaFX Application Thread" java.lang.RuntimeException: java.lang.NullPointerException: Location is required.
at com.sun.javafx.applet.FXApplet2$2.run(FXApplet2.java:150)
at com.sun.javafx.application.PlatformImpl.lambda$null$5(PlatformImpl.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$6(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$4(WinApplication.java:185)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException: Location is required.
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3207)
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 fxmlapp.FXMLAPP.start(FXMLAPP.java:22)
at com.sun.javafx.applet.FXApplet2$2.run(FXApplet2.java:134)
... 7 more
Предлагаемые гуглом варианты ответов, в основном сводятся к формату написания пути Parent root в файле .java
В шаблоне он выглядит:
FXMLLoader.load(getClass().getResource("FXMLDocument.fxml"));
Пробовал /FXMLDocument.fxml, писал полный путь - не помогло.
Встречается также вариант с перемещением fxml-файла в папку main/resources, но папки resources в корне проекта нет!
У меня есть два предположения:
Файл build.xml нуждается в правке, ниже файл из шаблона
<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns:fx="javafx:com.sun.javafx.tools.ant" basedir="." default="default" name="FXMLAPP">
<import file="nbproject/build-impl.xml"/>
Или моей системе чего-то не хватает для запуска JavaFX, обычное Java Web-приложение без проблем запускается в локалхосте Томката и работает.