У меня есть многомодульный проект Maven. В одном подпроекте хранятся файлы ресурсов XSL/XML. В другом проекте размещается код Java, который должен использовать эти файлы в своих модульных тестах.Maven: Извлеките ресурсы зависимостей перед тестированием
В банке зависимости ресурсы лежат в папке xml-resources
.
Я нашел этот example и попытался изменить его для моих потребностей:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<id>resource-dependencies</id>
<phase>process-test-resources</phase>
<goals>
<goal>unpack-dependencies</goal>
</goals>
<configuration>
<classifier>xml-resources</classifier>
<outputDirectory>${project.build.directory}/classes/xml-resources</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
Это ничего не делать, когда я бегу этап процесса испытаний ресурсов. Уверены, что там есть некоторые ошибки - я не вижу, где я могу указать зависимость, из которой должны быть взяты ресурсы, и <classifier>
, похоже, не указывает на источник, из которого должны быть скопированы ресурсы.
Я потерялся здесь, может кто-нибудь сказать мне, как это сделать правильно?
Папка outputDirectory в этом случае должна быть ../test-classes/ .. вместо ../ classes/.... – khmarbaise
@hmarbaise действительное возражение - возможно, даже лучше '$ {project.build.testOutputDirectory}/xml-resources' (см. [Super POM] (http://maven.apache.org/guides/introduction/introduction-to-the-pom.html#Super_POM)) – FrVaBe
Спасибо за это, теперь копирование работает. Файлы находятся в 'target/test-classes/xml-resources'. Тем не менее, я не могу загрузить их в свой тестовый код через getClass(). GetResourceAsStream ("/ xml-resources/file.xml") '. Есть что-то еще, что мне нужно сделать? – flyx