Допустимо ли просто включить эти ресурсы в "src" в подкаталог, а затем разрешить их сборку в classpath
Зависит от единственной цели рассматриваемого ресурса. При таком подходе любое незначительное редактирование в таком файле ресурсов, таким образом, потребует полной перестройки, повторного развертывания и перезапуска.
Это не обязательно может нанести вред однократному запуску и файлам конфигурации всего приложения, таким как web.xml
и application.xml
и консортам, поскольку это обычно влияет (или зависит от) изменений в исходном коде Java, которые требуют полной перестройки / перераспределить / и так далее.
Но в случае файлов времени выполнения, таких как файлы свойств i18n и специфические для среды файлы конфигурации (которыми может / мог бы управлять не разработчик, например, serveradmin или клиент), нецелесообразно упаковывать его в веб-приложение. Это требует знаний о том, как восстановить веб-приложение после внесения изменений. Вы бы предпочли использовать его так, чтобы для отражения изменений в конфигурации потребовался только перезапуск веб-приложения, или, может быть, даже не совсем, например, для ResourceBundle
, который автоматически перезагрузится.
Обычно я сам помещаю такие файлы по фиксированному пути вдоль контейнера сервлетов и добавляю этот путь в путь к классам времени выполнения контейнера сервлетов. Например, Tomcat настраивается как свойство shared.loader
в /conf/catalina.properties
. Э.Г.
shared.loader=/var/webapp
Все, что находится в этой папке, затем заносится в путь класса выполнения сервлет-контейнера (и веб-приложения).