О ресурсах Maven - PullRequest
       2

О ресурсах Maven

2 голосов
/ 29 июня 2011

С точки зрения проекта Maven, должны ли файлы, хранящиеся там, быть доступными каким-либо особым образом или рассматриваться как любой другой файл, где «ресурсы» - это просто другой каталог?Справедливо ли сказать, что «ресурс» - это все, что не является исходным файлом и используется программой?

Я немного запутался здесь.Пожалуйста, ясность

Ответы [ 2 ]

4 голосов
/ 29 июня 2011

Все файлы в каталоге ресурсов добавляются в ваш jar (или war) без компиляции.Обычно такие вещи, как файлы конфигурации или другие не исходные ресурсы, помещаются в этот каталог, хотя до тех пор, пока ваши файлы не заканчиваются на «.java», они могут находиться в каталоге исходных текстов, и полученный артефакт будет таким же.

Для доступа к файлу в каталоге ресурсов вы должны использовать методы ClassLoader.getResource или getResourceAsStream.

Другая особенность ресурсов при использовании Maven заключается в том, что вы можете включать токены свойств, которые будут заменены на Mavenкак часть построения вашего проекта.Например:

Эта строка в файле ресурсов

artifactName=${project.build.finalName}

будет заменена на что-то вроде:

artifactName=my-project-1.0.0

Любое из свойств, доступных в Maven, может быть замененов ваших ресурсах.

2 голосов
/ 29 июня 2011

Это просто стандарт. По умолчанию содержимое каталога ресурсов копируется в тот же целевой каталог, что и файлы .class, и, если оно упаковано как jar, в корень jar.

Вы также можете указать способ кодирования ресурсов. Если вы этого не сделаете, вы фактически сохраните кодировку системы, на которой вы построили, которая является непереносимой и о чем Maven вас предупредит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...