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"),
Вещь, которая вызывает эту ошибку (все это отлично работало до этого) - это изменение зависимости в моей зависимости:
старый:
<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>
Я не хочу, чтобы guava 12.0 в любом случае был и был исключен.
Могу ли я сказать Play 2.1.1, чтобы использовать новую Ivy?
В plugins.sbt У меня есть:
addSbtPlugin("play" % "sbt-plugin" % "2.1.1")
Временное исправление
Как упоминалось здесь сообщение об ошибке Apache IVY?: невозможно получить артефакты, когда данные не были загружены, вручную добавляя зависимость, решает ее: я добавил
"com.google.guava" % "guava" % "12.0"
и проблема исчезла.
Ответы
Ответ 1
По-видимому, больше людей было и имеет эту проблему, поэтому я ставил свое решение в качестве ответа:
Временное исправление
Как упоминалось здесь сообщение об ошибке Apache IVY?: невозможно получить артефакты, когда данные не были загружены, вручную добавляя зависимость, решает ее: я добавил
"com.google.guava" % "guava" % "12.0"
и проблема исчезла.
Ответ 2
Вместо использования более низкой версии вы можете попробовать добавить эту строку в файл .sbt:
dependencyOverrides += "com.google.guava" % "guava" % "14.0.1"
Ответ 3
Play 2.1.x использует sbt 0.12, который использует Ivy 2.3.0-rc1, но похоже, что это все еще проблема.
Если вы можете приступить к воспроизведению с использованием общедоступных библиотек, откройте проблему Github со ссылкой на этот комментарий.