web-dev-qa-db-ja.com

IllegalStateException:Guava 12.0のデータがロードされていない場合、アーティファクトを取得できませんか?

Java Play 2.1.1アプリでは、次のエラーが発生します。

[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に新しいアイビーを使用するように指示できますか?

plugins.sbtにあります:

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

一時的な修正ここで誰かが言及したように Apache IVYエラーメッセージ?:データがロードされていないときにアーティファクトを取得できません 手動で追加依存関係はそれを解決します:私は追加しました

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

そして問題はなくなりました。

32

どうやらより多くの人々がこの問題を抱えていたので、私は私の解決策を答えとして置いています:

一時的な修正ここで誰かが言及したように Apache IVYエラーメッセージ?:データがロードされていないときにアーティファクトを取得できません 手動で追加依存関係はそれを解決します:私は追加しました

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

そして問題はなくなりました。

14

下位バージョンを使用する代わりに、次の行を.sbtファイルに追加してみてください。

dependencyOverrides += "com.google.guava" % "guava" % "14.0.1"
8
jrook

Play2.1.xはIvy2.3.​​0-rc1を使用するsbt0.12を使用しますが、これはまだ問題のようです。公開されているライブラリを使用して複製手順を考え出すことができる場合は、このコメントへのリンクを含むGithubの問題を開いてください。

4
Eugene Yokota