Когда я смотрю на Stacktrace, я обнаруживаю, что он не жалуется на создание контроллера.
Он жалуется, что не может загрузить файл FXML. Это как-то не может найти это. Таким образом, он прерывается - еще до того, как он достигнет строки, в которую вы хотите загрузить контроллер (эта строка выглядит нормально):
Исключение в потоке «Поток приложения JavaFX» java.lang.IllegalStateException: Местоположение не задавать. в javafx.fxml.FXMLLoader.loadImpl (FXMLLoader.java:2428) в javafx.fxml.FXMLLoader.load (FXMLLoader.java:2403)
blockquote>Возможно, вы захотите посмотреть на значение "FxmlViews.MainScreen.mainSc". Это очень вероятно указывает на какой-то неправильный путь.
Пример загрузки контроллера дважды:
String filename = "yourfxm.fxml"; FXMLLoader loader = new FXMLLoader(FXMLLoader.class.getResource(filename)); var node = loader.load(); var controller = loader.getController(); loader = new FXMLLoader(FXMLLoader.class.getResource(filename)); node = loader.load(); controller = loader.getController();
Используя Office Interop требует, чтобы компоненты Office Вы использовали на самом деле быть установленными на сервере.
У Вас есть лицензированная, активированная копия Excel на сервере? Это, вероятно, работает над Вашей локальной машиной, потому что Вам установили Office/Excel локально.
Я собираюсь брать ВЗМАХ и говорить, что Вы просто не можете хлопнуть старую копию Office на сервере и позволить многочисленным пользователям получить доступ к нему через Ваш веб-сайт. Необходимо посмотреть на лицензионные ограничения для использования MS Office в серверной среде.