2013-05-17 28 views
31

在Java 2.1.1播放應用程序,我得到以下錯誤:IllegalStateException:當數據尚未加載Guava 12.0時不可能獲得工件?

[myproject] $ update 
[info] Updating {file:/C:/path/myproject/}myproject... 
[info] Resolving ... 
[error] impossible to get artifacts when data has not been loaded. IvyNode = com.google.guava#guava;12.0 
[error] (*:update) java.lang.IllegalStateException: impossible to get artifacts when data has not been loaded. IvyNode = com.google.guava#guava;12.0 
[error] Total time: 230 s, completed 17.05.2013 19:16:41 

Build.scala

"com.google.guava" % "guava" % "14.0.1", 
"org.mydependency" % "mydependency" % "1.0-SNAPSHOT" changing() exclude("org.jboss.netty","netty") exclude("com.google.guava", "guava") exclude("log4j", "log4j"), 

導致此錯誤(它都能正常運作之前)的事情是mydependency內依賴性變化:

老:

<dependency> 
    <groupId>com.thinkaurelius.titan</groupId> 
    <artifactId>titan-berkeleyje</artifactId> 
    <version>0.3.1</version> 
</dependency> 

新:

<dependency> 
    <groupId>com.thinkaurelius.titan</groupId> 
    <artifactId>titan-cassandra</artifactId> 
    <version>0.3.1</version> 
</dependency> 

我不想番石榴12.0無論如何,這是和被排除在外。

我可以告訴Play 2.1.1使用更新的Ivy嗎?

plugins.sbt我:

addSbtPlugin("play" % "sbt-plugin" % "2.1.1") 

臨時修復 正如有人這裏提到Apache IVY error message? : impossible to get artifacts when data has not been loaded手動添加的依賴性解決它:我已經添加

"com.google.guava" % "guava" % "12.0" 

和問題消失了。

+3

我只是碰到了這一個,當我補充說,試圖傳遞地拉* SLF4J-API的依賴; 1.6.1 *當我的項目已經包含* slf4j-api; 1.7.5 *。我通過使所謂的依賴關係'intransitive()'來解決它。 – earldouglas

+0

@ gonfi-den-tschal問題是否存在? –

+0

其他人似乎仍然有問題。我還沒有遇到它,但我仍然在使用臨時修復程序。我沒有觸及過這個項目,也沒有在一段時間內升級過Play。 –

回答

4

Play 2.1.x使用sbt 0.12,它使用Ivy 2.3.0-rc1,但看起來像這仍然是一個問題。 如果您可以使用公開可用的庫提供複製步驟,請打開一個Github問題並附帶此評論的鏈接。

8

而不是使用低版本的,你可以嘗試加入這行來名.bst文件:

dependencyOverrides += "com.google.guava" % "guava" % "14.0.1" 
相關問題