Ошибка add-test-resource сборки-helper-maven-plugin
У меня есть такая структура проекта:
/src
/main
/java
/resources
/test
/java
/resources
/it
/java
/resources
test
для юнит-тестов и it
для интеграционных испытаний. Я использую http://mojo.codehaus.org/build-helper-maven-plugin/ для добавления дополнительных источников / ресурсов теста в classpath для последующего использования maven-surfire-plugin для запускаunit tests
и maven-failsafe-плагин для integration tests
,
Конфигурация плагина, как показано ниже:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.9.1</version>
<executions>
<execution>
<id>add-integration-test-sources</id>
<phase>generate-test-sources</phase>
<goals>
<goal>add-test-source</goal>
</goals>
<configuration>
<sources>
<source>src/it/java</source>
</sources>
</configuration>
</execution>
<execution>
<id>add-integration-test-resources</id>
<phase>generate-test-resources</phase>
<goals>
<goal>add-test-resource</goal>
</goals>
<configuration>
<resources>
<directory>/src/it/resources</directory>
</resources>
</configuration>
</execution>
</executions>
</plugin>
Это прекрасно работает для test-sources
(они правильно копируются в / target / test-classes), но не копируют test-resources. Я пробовал разные комбинации <configuration>
: использовать <resource>
вместо <directory>
, используйте определенный файл вместо каталога... но ни один не работает.
Stacktrace с ошибкой:
Caused by: org.apache.maven.plugin.PluginConfigurationException: Unable to parse configuration of mojo org.codehaus.mojo:build-helper-maven-plugin:1.9.1:add-test-resource for parameter directory: Cannot configure instance of org.apache.maven.model.Resource from src/it/resources
at org.apache.maven.plugin.internal.DefaultMavenPluginManager.populatePluginFields(DefaultMavenPluginManager.java:597)
at org.apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo(DefaultMavenPluginManager.java:529)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:92)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
ПРЕДВАРИТЕЛЬНО, я исправил это добавлением ресурсов тестирования интеграции в maven <build>
конфигурация:
<build>
...
<testResources>
<testResource>
<directory>src/it/resources</directory>
</testResource>
</testResources>
</build>
Но я бы предпочел централизовать все модификации classpath под build-helper-maven-plugin
, Кто-нибудь может выложить пример с правильным конфигом?
Заранее спасибо.
1 ответ
В соответствии с javadoc для maven-build-helper-plugin: add-test-resources. resources
это массив org.apache.maven.model.Resource
, Таким образом, вы должны настроить его следующим образом:
<configuration>
<resources>
<resource>
<directory>/src/it/resources</directory>
</resource>
</resources>
</configuration>
Посмотрите, как настроить параметры плагина.