Я пытаюсь развернуть свое приложение JavaFX в качестве веб-страницы и получаю следующую ошибку: java.lang.NullPointerException: Требуется местоположение

Прежде чем пометить мой вопрос как ДУБЛИРОВАННЫЙ или ПОВТОРНЫЙ, PS я перепробовал все:

1. Они сказали ЗДЕСЬ, и ЗДЕСЬ, и, наконец, ЗДЕСЬ. Ничего не сработало.

2. Я сам подписал свое приложение и предоставил ссылку в списке исключений панели управления Java. Уровень безопасности снижен с очень высокого до высокого. Все те же результаты.

3. Позже я также создал хранилище keytool и ввел команду для файлов .csr и .jks, указав их путь, а также псевдоним в NetBeans, и снова потерпел неудачу.

4. Предоставил команду "все разрешения" в файле манифеста и получил те же результаты.

5. Пытался запустить файл JNLP как отдельное приложение для веб-запуска, но был заблокирован по причинам безопасности Java. (не знаю почему!)

Я вставляю свой код ниже:

Это мой файл FXML:

<?xml version="1.0" encoding="UTF-8"?>

 <?import java.lang.*?>
 <?import java.util.*?>
 <?import javafx.scene.*?>
 <?import javafx.scene.control.*?>
 <?import javafx.scene.layout.*?>

<AnchorPane id="AnchorPane" prefHeight="200" prefWidth="320"    xmlns:fx="http://javafx.com/fxml/1" fx:controller="javafxwillrunthistime.FXMLDocumentController">
<children>
    <Button layoutX="126" layoutY="90" text="Click Me!" onAction="#handleButtonAction" fx:id="button" />
    <Label layoutX="126" layoutY="120" minHeight="16" minWidth="69" fx:id="label" />
</children> </AnchorPane>

Ниже приведен мой основной файл:

public class JavaFXWillRunThisTime extends Application {

@Override
public void start(Stage stage) throws Exception {
    Parent root = FXMLLoader.load(getClass().getClassLoader().getResource("FXMLDocument.fxml"));

    Scene scene = new Scene(root);  
    stage.setScene(scene);
    stage.show();
}
/**
 * @param args the command line arguments
 */
public static void main(String[] args) {
    launch(args);
  }
}

Это исключение:

Missing Application-Name manifest attribute for: file:/G:/WorkSpaces/NetBeans/JavaFXWillRunThisTime/dist/JavaFXWillRunThisTime.ja‌​r
java.lang.NullPointerException: Location is required. at
javafx.fxml.FXMLLoader.loadImpl(Unknown Source) at 
javafx.fxml.FXMLLoader.loadImpl(Unknown Source) at 
javafx.fxml.FXMLLoader.loadImpl(Unknown Source) at 
javafx.fxml.FXMLLoader.loadImpl(Unknown Source) at 
javafx.fxml.FXMLLoader.loadImpl(Unknown Source) at 
javafx.fxml.FXMLLoader.load(Unknown Source) at 
javafxwillrunthistime.JavaFXWillRunThisTime.start(JavaFXWillRunThisTime.java:22)

Я пытался запустить это во всех браузерах, которые у меня есть. Прочитайте документацию Oracle по веб-развертыванию JavaFX, а также просмотрите список браузеров, который он предоставил на своем сайте.

Было бы здорово, если бы кто-нибудь сказал мне, что делать дальше?


person Vishal A    schedule 08.03.2016    source источник
comment
Запускается ли приложение при запуске как автономный исполняемый файл или из среды IDE? Пожалуйста, предоставьте полную трассировку стека вместе со ссылкой на то, где в вашем коде это происходит.   -  person hotzst    schedule 08.03.2016
comment
Проверьте содержимое сгенерированного файла jar; убедитесь, что он содержит файл FXML. Он должен иметь правильное имя (например, FXMLDocument.fxml) и должен находиться в том же пакете, что и ваш класс.   -  person James_D    schedule 09.03.2016