7

我有一個Play項目,使用一個庫,最近已經移植到Scala 2.11.1。如何解決SBT中衝突的交叉版本後綴?

我也更新了Play到Scala 2.11.1。

當我嘗試運行該項目,我得到:

[error] Modules were resolved with conflicting cross-version suffixes in {file:/...}: 
[error] org.scalaz:scalaz-core _2.11, _2.10 
[trace] Stack trace suppressed: run last *:update for the full output. 
[error] (*:update) Conflicting cross-version suffixes in: org.scalaz:scalaz-core 

我試圖發現這是一個使用SBT-依賴性的圖形插件,使用scalaz核2.10庫。然而,依賴圖中的樹,只有一種外觀scalaz核心的:

info] | +-org.scalaz:scalaz-core_2.11:7.0.6 

所以,我不知道這是一種使用scalaz,core_2.10庫...我如何檢測呢?

我看過here,一旦我發現它,我可以排除它,但我的問題是如何檢測哪些是我必須排除的依賴關係。

+0

我最近有與Akka相同的問題,事實證明,我已經把%,而不是%%在噴霧依賴。解決這個問題。我會檢查我的build.sbt並檢查所有的Scala庫是否有%% –

+0

'last *:update'說一些有用的東西?也許你可以分享一個圖書館名稱,除非它是你的私人圖書館。 – lpiepiora

回答

3

根據target/resolution-cache/reports/是常春藤的每個配置的決議報告。 尋找*-compile.xml*-test.xml,看看你是否有

<module organisation="org.scalaz" name="scalaz-core_2.10"> 
    .... 
</module> 

這應該告訴你的模塊caller