【发布时间】:2014-12-07 21:25:24
【问题描述】:
我有这个项目结构:
/src
/main
/java
/resources
/test
/java
/resources
/it
/java
/resources
test 用于单元测试,it 用于集成测试。我正在使用build-helper-maven-plugin 将其他测试源/资源添加到类路径以供以后使用maven-surfire-plugin 运行
unit tests 和 maven-failsafe-plugin 代表 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>,使用特定文件而不是目录...但都不起作用。
出现错误的堆栈跟踪:
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)
PROVISIONALLY,我已经修复了它,将集成测试资源添加到 maven <build> 配置:
<build>
...
<testResources>
<testResource>
<directory>src/it/resources</directory>
</testResource>
</testResources>
</build>
但我希望将所有类路径修改集中在build-helper-maven-plugin 下。
任何人都可以发布具有正确配置的示例吗?
提前致谢。
【问题讨论】:
标签: java maven integration-testing maven-plugin build-helper-maven-plugin