Ресурсы не могут быть найдены в сборке maven

Я хотел перенести свой локальный прототип на сборку maven и начать работать продуктивно. Но к сожалению при звонке

loader.setLocation(getClass().getResource("views/TaskWindow.fxml"));

Во время выполнения кажется, что maven находит ресурс xmls. Я пробовал "TaksWindow.xml", "../views/TaksWindow.xml", "views / TaskWindow.xml" и "/views/TaksWindow.xml", но почему-то всегда выдает ошибку "не указано местоположение".

Структура моего проекта выглядит так:

Ресурсы не могут быть найдены в сборке maven

Есть идеи, почему?

Первый maven не имеет ничего общего с поиском ресурсов .. Ваш код неправильно находит ресурсы. Вопрос в том, где вы разместили ресурсы, которые пытаетесь загрузить?

khmarbaise 30.04.2018 16:38

отредактировал структуру в.

Simon Bauer 30.04.2018 16:38

А, ладно ... чем вам нужно использовать `getClass (). GetResource (" / views / TaskWindow.fxml ") ´. Начальная косая черта важна, иначе загрузка зависит от класса, в котором вы это используете ....

khmarbaise 30.04.2018 16:41

красивая!! Я думал, что уже пробовал ... должно быть, пропустил класс, а затем вылетает все приложение ...

Simon Bauer 30.04.2018 16:44
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
4
25
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Указанный вами путь является относительным. Это означает, что загрузчик классов будет искать папку views в местоположении класса (то есть его пакета). Вероятно, вы хотите использовать абсолютный путь.

Попробуйте следующий код, обратите внимание на ведущий /.

getClass().getResource("/views/TaskWindow.fxml")

Для получения дополнительной информации см. этот ответ.

Другие вопросы по теме