Maven: как разместить файл ресурсов вместе с jar?
У меня есть srcmainresourceslogback.XML-файл. Когда я бегу mvn package
по умолчанию он помещается в банку. Как я могу заставить Maven поместить его рядом с jar, а не внутри?
Итак, я просто хочу, чтобы Maven скопировал ресурс в ту же папку, где будет jar.
3 ответов
не требуется определения плагинов, просто отредактируйте ресурсы сборки:
<build>
<resources>
<!-- regular resource processsing for everything except logback.xml -->
<resource>
<directory>src/main/resources</directory>
<excludes>
<exclude>logback.xml</exclude>
</excludes>
</resource>
<!-- resource processsing with a different output directory
for logback.xml -->
<resource>
<directory>src/main/resources</directory>
<includes>
<include>logback.xml</include>
</includes>
<!-- relative to target/classes
i.e. ${project.build.outputDirectory} -->
<targetPath>..</targetPath>
</resource>
</resources>
</build>
ссылки:
вы можете создать ZIP-файл, содержащий оба, используя модуль сборки Maven.
вы также можете использовать в Maven-Antrun плагин или аналогично, чтобы поместить любой файл, который вы хотите, но идея одного артефакта на проект встроена глубоко в Maven internals, поэтому есть шанс, что он выследит вас в другом месте.
исключить этот файл: http://maven.apache.org/plugins/maven-resources-plugin/examples/include-exclude.html
а затем используйте плагин Maven Antrun для копирования файла.
однако последняя часть не имеет большого смысла. Если это файл конфигурации для размещения на сервере, просто скопируйте его вручную.