我有一个包含一些测试的项目,它所做的只是创建一个test-jar
以由其他项目运行。而且它依赖于一个又一个神器,让我们称之为神器X
依赖注入和测试
则是运行test-jar
多个其他项目,使用maven-surefire-plugin
我有神器X
的多个实现,我想要做的就是能够使用我想要的实现,而不是X
例如要运行这些测试:
项目A
我想运行使用实施0123测试
B
我想用实施运行的测试B
这似乎并不可能,因为一旦产生test-jar
,它拥有神器X
硬编码在它
所以我接受任何其他的解决方案
编辑:
额外的信息:
个项目的POM文件生成测试:
部分用于生成test-jar
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
神器X
依赖性:
<dependency>
<groupId>com.conztanz</groupId>
<artifactId>X</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
的一个项目的POM文件运行测试(项目A
):
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.15</version>
<configuration>
<dependenciesToScan>
<dependency>testJar</dependency>
</dependenciesToScan>
</configuration>
</plugin>
</plugins>
</build>
理想情况下我要的是做一些事,告诉项目A
到Override
神器X
与它自己的执行
我希望这是现在更有意义
这对我来说太抽象了。也许你可以发布各种'pom.xml'的相关部分,以及简化的项目结构? – Stewart
好吧我会添加一些例子 – isco