Где разместить файлы данных или конфигурации, загружаемые моим кодом Java, когда веб-приложение запускается в веб-приложении Vaadin 14, управляемом Maven

В проекте веб-приложения Vaadin 14, созданном с помощью варианта "Plain Java Servlet" стартовой страницы Vaadin, существует множество папок, автоматически создаваемых файловым процессом Maven POM.

снимок экрана панели проекта IntelliJ с папками, вложенными в проект

Где разместить файл данных или файл конфигурации, который я буду загружать и анализировать при запуске моего веб-приложения? В какую папку я помещаю свои файлы? Должен ли я создавать дополнительные вложенные папки? И по какому пути к файлу найти и загрузить такой текстовый (XML, JSON, CSV и т. Д.) Файл?


person Basil Bourque    schedule 31.01.2020    source источник
comment
Аналогично: Где мне разместить статические файлы Vaadin 10+?   -  person Basil Bourque    schedule 01.02.2020
comment


Ответы (1)


Расположение файла

Вы помещаете их в src/main/resources, поскольку это соглашение также вне приложения Vaadin.

Ваадин добавляет несколько других корневых ресурсов для вещей, которые позже попадают в места в банке, которые может найти Ваадин (например, под META-INF/resources/...).

resources по-прежнему попадает в корень jar-файла или должным образом "классифицируется" инструментами сборки и безопасно загружать неклассы через загрузчик классов в вашем приложении.

Открытие файла

Вы можете открыть свой текстовый файл оттуда, вызвав _ 4_, возвращая _ 5_. Обратите внимание на начальную косую черту.

InputStream inputStream = this.getClass().getResourceAsStream( "/myfile.txt" ) ;
person cfrick    schedule 31.01.2020