簡體   English   中英

Lucene對Grails的依賴夢night

[英]Grails dependency nightmare with Lucene

我最近將Elastic Search從0.90.0更新到1.3.2,現在與另一個依賴項使用的Lucene版本發生沖突。 該方案如下所示:

罐A使用Lucene 4.9.0罐B使用Lucene 3.3.0

關鍵是我得到一個java.lang.VerifyError,因為B代碼覆蓋了Lucene類的final方法,該方法在4.9.0版本中不是final。

我嘗試了這個沒有成功:

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)
}

我不知道該怎么辦,這有什么線索嗎?

謝謝!

假設您需要最新版本的Lucene,則排除的對象實際上是向后的。

您對B的聲明應如下所示:

compile ('B') {
    excludes "lucene-core", "lucene-analyzers-common"
}

在該列表中也包括任何其他可能沖突的lucene jars。

如果您沒有在代碼中專門使用任何Lucene庫(除了elasticsearch插件之外),則可以刪除顯式Lucene聲明。

我對Lucene的了解還不足以告訴您4.9.0是否與3.3.0向后兼容,但是此解決方案至少應確保4.9.0是項目的類路徑中的內容,而不是 3.3.0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM