Maven не копирует не-Java файлы - PullRequest
10 голосов
/ 29 ноября 2011

У меня есть файл pom.xml со следующим:

<sourceDirectory>${basedir}/src/main/test</sourceDirectory>
<outputDirectory>${basedir}/src/main/bin </outputDirectory>

Внутри ${basedir}/src/main/test У меня есть несколько папок, которые не содержат файлов .java.Когда я запускаю компиляцию, они не копируются в каталог ${basedir}/src/main/bin.

Только файлы .java перемещаются (после компиляции, конечно) и сохраняются в нужную папку.

Может кто-нибудь мне помочьрешить эту проблему без использования какого-либо плагина?

Я пытался с

<resources>
        <resource>
            <filtering>false</filtering>
             <directory>${basedir}/src/main/test/scenarios</directory>
             <includes>
                <include>*.xml</include>
             </includes>
             <targetPath>${basedir}/src/main/bin/scenarios</targetPath>
        </resource>

        <resource>
            <filtering>false</filtering>
             <directory>${basedir}/src/main/test/sut</directory>
             <includes>
                <include>*.xml</include>
             </includes>
             <targetPath>${basedir}/src/main/bin/sut</targetPath>
        </resource>

    </resources>

Но это не работает.Что не так?

Ответы [ 2 ]

14 голосов
/ 29 ноября 2011

Если они не являются файлами Java, вы должны переместить их в каталог src/main/resources и / или src/test/resources. Это соглашение maven для хранения не Java-файлов.

Другой вариант - использовать maven-resources-plugin .

  <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-resources-plugin</artifactId>
            <version>2.3</version>
        </plugin>
    </plugins>
    <resources>
        <resource>
        <directory>src/main/test</directory>
            <includes>
                <include> <the_files_you_want_to_include></include>
            </includes>
        </resource>
    </resources>

Вы можете использовать maven-antrun-plugin и выполнить задачу ant для копирования файлов вручную.

1 голос
/ 29 ноября 2011

Вы можете добавить src / main / test в качестве каталога ресурсов с помощью плагина ресурсов maven. см. http://maven.apache.org/plugins/maven-resources-plugin/examples/resource-directory.html для получения базовой информации и http://maven.apache.org/plugins/maven-resources-plugin/examples/include-exclude.html для получения информации только о включении определенных файлов (поскольку вы не хотите копировать файлы .java)

...