плагин ресурсов maven плоская копия ресурсов - PullRequest
1 голос
/ 04 января 2012

Предоставлена ​​папка «база данных», содержащая JAR-коннекторы для разных RDBMS.Каждый JAR находится в отдельной папке:

+---database
    +---db2
        +---db2.jar
    +---derby
        +---derby.jar
    +---h2
        +---h2.jar
    +---mysql
        +---mysql.jar

Мне нужно скопировать все эти JAR-файлы в WEB-INF \ lib.

Вот мой pom.xml:

<build>
    <plugins>
        ...
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.1.1</version>
            <configuration>
                <webResources>
                    <resource>
                        <directory>../target/${project.artifactId}/classes/database</directory>
                        <targetPath>WEB-INF/lib</targetPath>
                        <includes>
                            <include>**/*.jar</include>
                        </includes>
                    </resource>
                </webResources>
            </configuration>
        </plugin>
    </plugins>
</build>

Проблема в том, что эти JAR-файлы копируются с их каталогами:

+---WEB-INF/lib
    +---db2
        +---db2.jar
    +---derby
        +---derby.jar
    +---h2
        +---h2.jar
    +---mysql
        +---mysql.jar

Вот как это должно быть:

+---WEB-INF/lib
    +---db2.jar
    +---derby.jar
    +---h2.jar
    +---mysql.jar

У меня 20 разъемов, и яне хочу жестко их кодировать.

Ответы [ 2 ]

2 голосов
/ 04 января 2012

У вас проблемы, потому что вы пытаетесь согнуть мавена во что-то, чего он не должен делать. Бинарные артефакты должны быть развернуты в вашем хранилище артефактов (или в локальном хранилище maven) и не включены в ваш проект. Таким образом, определив их как зависимости в pom, вы сможете скопировать их в ваш WEB-INF / lib.

1 голос
/ 04 января 2012

Самый правильный способ сделать это - установить файлы JAR в репозиторий Maven, а затем использовать цель maven-dependency-plugin:copy. Или, если вы хотите решить эту проблему примерно, используйте maven-antrun-plugin (правило копирования).

...