我有一个项目依赖于commons-httpclient [2.0](compile)。Maven 2 - 测试和编译中的不同依赖版本
我想写一些jbehave测试-jbehave-core 3.4.5(test)。 这两个依赖依赖于commons-lang,但是在不同的版本中 - 1.0.1和2.5。
当我执行MVN包我得到了测试部分[打造专业化失败。 没有为我的万无一失,插件输出测试用例的异常:
java.lang.NoSuchMethodError: org.apache.commons.lang.StringUtils.substringBeforeLast(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
正如我看了源代码 - 在公共琅1.0.1 - 事实上,没有StringUtils.substringBeforeLast(...)方法。 为什么maven在commons-httpclient(compile)中使用commons-lang,而不是在jbehave-core中使用commons-lang?
我不能排除commons-httpclient中这个冲突的依赖关系,所以它必须保持编译时间。
那么这怎么解决呢? - commons-lang 2.5版本在测试中,1.0.1在编译时。
这应该是测试 不是测试 –
它的工作!谢谢。在m2eclipse插件中,我有'(ommited for conflict witch 2.5)[编译]'在commons-httpclient子类别中,但这可能是m2eclipse问题 – Xeon
这对我不起作用,我不知道为什么 - http:// stackoverflow .com/questions/9364511/maven-different-dependency-version-in-test –