Maven: как разместить файл ресурсов вместе с jar? - PullRequest
29 голосов
/ 12 апреля 2011

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

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

Ответы [ 3 ]

72 голосов
/ 20 апреля 2011

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

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

Справка:

1 голос
/ 13 апреля 2011

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

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

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

1 голос
/ 12 апреля 2011

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

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

...