我有一个用于集成测试的maven模块,我使用tomcat7-maven-plugin来启动一些webapps,然后对它们进行测试。
在我的pom依赖项中,我有DependencyA,它包含运行测试所需的bean定义。
当tomcat旋转以运行war文件时,我得到了这个spring错误:org.springframework.beans.factory.NoUniqueBeanDefinitionException:
No qualifying bean of type [blah] is defined: expected single matching bean but found 2
不应该找到的第二个bean在DependencyA中(由于组件扫描而找到),如果省略dependencyA,war文件会正确部署(尽管我不能运行测试,因为它们依赖于依赖性A)。我试过用
<useTestClasspath>false</useTestClasspath>
and
<useSeparateTomcatClassLoader>true</useSeparateTomcatClassLoader>
但似乎都不起作用
我对战争文件为何找到DependencyA感到茫然。由于所有战争/罐子之间的版本问题,我无法修改除此集成pom之外的任何内容。
有什么想法吗?