Подтвердить что ты не робот

Maven: как разместить файл ресурсов вместе с банкой?

У меня есть файл \src\main\resources\logback.xml. Когда я запускаю mvn package, он помещается в банку по умолчанию. Как заставить Maven разместить его рядом с банкой, а не внутри?

Итак, я просто хочу, чтобы Maven копировал ресурс в ту же папку, где будет jar.

4b9b3361

Ответ 1

Не требуется определение плагинов, просто отредактируйте ресурсы сборки:

<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>

Справка:

Ответ 2

Вы можете создать ZIP файл, содержащий оба с помощью Плагин сборки Maven.

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

Ответ 3

Исключить этот файл: http://maven.apache.org/plugins/maven-resources-plugin/examples/include-exclude.html

И затем используйте плагин Maven Antrun для копирования файла.

Однако последняя часть не имеет большого смысла. Если это файл конфигурации для размещения на сервере, просто скопируйте его вручную.