这不是一个非常常见的情况,但我有一个maven模块(实际上用于测试,不重要)有spring上下文,它应该从依赖项导入另一个上下文,但是有另一个具有相同上下文名称的依赖项。
test module
test-context import beans.xml
under test jar
has beans.xml
another dependency jar
has beans.xml
<import resource="classpath:beans.xml
/&GT;在类路径中加载第一个上下文并且它不是正确的:)
有没有办法在不改变上下文名称或位置的情况下解决冲突?即基本上我想从资源类路径解析中排除一个jar。
答案 0 :(得分:0)
我会保留否定的答案,因为我认为除了移动/重命名文件之外别无他法,因为从Spring的角度来看,类路径中的两个jar都具有相同的优先级,所以第一个获胜。
另外,我不认为有一种方法可以从jar路径中解析jar,因为jar文件名可能因依赖版本而有所不同,例如它完全由maven管理,而不是由spring管理。
有一种野蛮的方式 - 通过一些maven插件从中删除beans.xml来重新打包依赖jar。