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