Maven - загрузить ресурсы из файла JAR? - PullRequest
0 голосов
/ 05 ноября 2019

У меня такое ощущение, что я упускаю что-то критическое, когда дело доходит до объединения ресурсов в JAR-файлах с помощью Maven. Моя структура каталогов является стандартной Maven.

При использовании IDE я ссылаюсь на файлы ресурсов как \main\resources\public\images\path, и он работает нормально, но когда Maven css js и изображения не работают, а сайт выглядит плохо. Если я посмотрю в банке, я найду все css, js и изображения. Когда я пытаюсь открыть ссылку CSS в браузере, я получаю ошибку 404. Вот мой pom.xml https://shrib.com/#XGISjWGN7QRfa2EIZD4r. В затмении он работает нормально. Я использую Spark.staticFiles.location("public"); для загрузки ресурсов.

1 Ответ

0 голосов
/ 05 ноября 2019

Я не могу комментировать Spark, однако, когда вы создаете артефакт (банку, жир или нет), он просто не содержит папку main/resources (откройте банку с помощью инструмента, подобного winrar, и проверьте себя).

Другая сложность заключается в том, что если вы используете что-то, что работает с File абстракцией - это, вероятно, неправильно внутри артефакта. File описывает место в файловой системе, и вы пытаетесь что-то прочитать из артефакта.

Обычно вы можете использовать внутри кода, который читает ресурс:

getClass().getResourceAsStream("/public/impages/path/sample.js") 
...