bmargulies дал ответ , но позвольте мне заполнить некоторые детали.
<testresources>
можно добавить к узлу <build>
POM проекта, например:
<testResources>
<testResource>
<directory>${project.basedir}/src/test/java</directory>
</testResource>
</testResources>
Это копирует все в src/test/java
- включая исходный код .java
, который нам не нужен.
Он также (как только подсказал bmargulies) переопределяет и заменяет настройку <testResources>
по умолчанию в стандартном родительском POM, от которого наследуются все остальные POM (если только это наследство не изменено). Стандартный родительский экземпляр копирует src/test/resources
, поэтому, переопределив это, мы не получим то, что обычно копируем, а мы этого не хотим. (В частности, вся моя причина для этого состоит в том, чтобы использовать unitils, который хочет скопировать файл unitils.properties
- и это (для меня, во всяком случае) в src/test/resources
.
Итак, мы повторно добавляем src/test/resources
:
<testResources>
<testResource>
<directory>${project.basedir}/src/test/java</directory>
</testResource>
<testResource>
<directory>${project.basedir}/src/test/resources</directory>
</testResource>
</testResources>
Копирует в указанном порядке, так что для файлов, которые существуют как в /src/test/java
(и подкаталогах), так и в /src/test/resources
(и подкаталогах), версия src/test/resources
является той, которая заканчивается в test-classes
.
Теперь нам просто нужно , а не скопировать .java
файлы:
<testResources>
<testResource>
<directory>${project.basedir}/src/test/java</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</testResource>
<testResource>
<directory>${project.basedir}/src/test/resources</directory>
</testResource>
</testResources>