使用maven-jar-plugin
插件的目標(請參閱here),在使用test-jar
目標的maven項目之間共享通用測試代碼是一個明確的解決方案。在maven項目之間共享測試資源
我需要對測試資源做類似的事情,特別是我希望在測試期間項目B的類路徑中可以使用項目A的測試資源。
項目A的一個需要聲明:
<!-- Package and attach test resources to the list of artifacts: -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<jar destfile="${project.build.directory}/test-resources.jar">
<fileset dir="${project.basedir}/test-resources" />
</jar>
</tasks>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>attach-artifact</goal>
</goals>
<configuration>
<artifacts>
<artifact>
<file>${project.build.directory}/test-resources.jar</file>
<type>jar</type>
<classifier>test-resources</classifier>
</artifact>
</artifacts>
</configuration>
</execution>
</executions>
</plugin>
而在B項目將是正常的依賴性:
<dependency>
<groupId>myproject.groupId</groupId>
<artifactId>myartifact</artifactId>
<version>1.0-SNAPSHOT</version>
<classifier>test-resources</classifier>
<scope>test</scope>
</dependency>
問:是否應該在所有情況下工作嗎?沒有maven-antrun-plugin
(使用更多'輕量級'插件)是否可以打包資源?
似乎還有需要增強測試資源的遠程資源插件 - http://maven.apache.org/plugins/maven-remote-resources-plugin/index.html – cetnar 2010-02-11 21:35:01
@centar:感謝有趣的插件信息,但是,你所說的是有點偏離主題:) – 2010-02-15 11:09:09