0
我最近更新了Elastic Search从0.90.0到1.3.2,现在我得到了与另一个依赖项使用的Lucene版本的冲突。该方案如下所示:Grails依赖于Lucene的梦魇
罐子A使用Lucene的4.9.0 罐子B使用Lucene的3.3.0
的一点是,我得到一个java.lang.VerifyError的,因为B码是压倒一切的最终Lucene类的方法在4.9.0版本中不是最终的。
我已经试过这没有成功:
compile ('A')
compile ('B')
compile ('org.apache.lucene:lucene-core:4.9.0') {
excludes(B)
}
compile ('org.apache.lucene:lucene-analyzers-common:4.9.0') {
excludes(B)
}
我不知道是什么更多的事情要做,在此任何线索?
谢谢!
问题是B重新定义了一个在Lucene 3.3.0中是最终的方法,但它在4.9.0中并不是最终的,所以我得到一个java.lang.VerifyError,因为这个:( – user2083783 2014-10-02 15:46:56
如果3.3.0仍然在类路径中,那么这是有道理的,你能确认它不再在类路径上吗?哪个代码实际上抛出VerifyError? – rmlan 2014-10-02 15:59:31
引发VerifyError的代码是位于B中的代码,它扩展了Lucene的分析器类,正在重新定义一个方法最终在3.3.0而不是最终在4.9.0 – user2083783 2014-10-02 16:09:12