sbt: “impossible to get artifacts when data has not been loaded. IvyNode = org.antlr#stringtemplate;3.2.1”

拟墨画扇 提交于 2019-12-08 18:24:46

问题


This looks like an Ivy problem surfacing via sbt (0.11.2) when I invoke the sbt-eclipse plugin:

> eclipse with-source=true
...
[info] Resolving com.googlecode.linkedin-j#linkedin-j-core;1.0.416 ...
[info] Resolving oauth.signpost#signpost-core;1.2.1.1 ...
[info] Resolving net.sf.kxml#kxml2;2.3.0 ...
[info] Resolving commons-cli#commons-cli;1.2 ...
[info] Resolving javax.servlet#servlet-api;2.5 ...
[error] impossible to get artifacts when data has not been loaded. IvyNode = org.antlr#stringtemplate;3.2.1
[error] {file:/home/yang/pod/sales/scala/}pod/*:update-classifiers: java.lang.IllegalStateException: impossible to get artifacts when data has not been loaded. IvyNode = org.antlr#stringtemplate;3.2.1
[info] Resolving org.scala-lang#scala-library;2.9.1 ...
[info] Resolving com.google.protobuf#protobuf-java;2.4.1 ...
[info] Resolving org.scalaquery#scalaquery_2.9.0;0.9.4 ...
[info] Resolving postgresql#postgresql;9.0-801.jdbc4 ...
...
[info] Resolving oauth.signpost#signpost-core;1.2.1.1 ...
[info] Resolving net.sf.kxml#kxml2;2.3.0 ...
[info] Resolving commons-cli#commons-cli;1.2 ...
[info] Resolving javax.servlet#servlet-api;2.5 ...
[error] impossible to get artifacts when data has not been loaded. IvyNode = org.antlr#stringtemplate;3.2.1
[error] {file:/home/yang/pod/sales/scala/}pod/*:update-classifiers: java.lang.IllegalStateException: impossible to get artifacts when data has not been loaded. IvyNode = org.antlr#stringtemplate;3.2.1
[error] Could not create Eclipse project files: Error evaluating task 'update-classifiers': error, Error evaluating task 'update-classifiers': error

I tried blowing away my ~/.{m2,ivy,sbt} directories, to no avail. Relevant extracts from my build.sbt:

...
scalaVersion := "2.9.1"

seq(coffeeSettings: _*)

seq(webSettings: _*)

seq(sbtprotobuf.ProtobufPlugin.protobufSettings: _*)

seq(Revolver.settings: _*)

libraryDependencies ++= Seq(
  "org.scalaquery" % "scalaquery_2.9.0" % "0.9.4",
  "postgresql" % "postgresql" % "9.0-801.jdbc4", // % "runtime",
  "com.jolbox" % "bonecp" % "0.7.1.RELEASE",
  "ru.circumflex" % "circumflex-orm" % "2.1-SNAPSHOT",
  "ru.circumflex" % "circumflex-core" % "2.1-SNAPSHOT",
  "net.sf.ehcache" % "ehcache-core" % "2.4.3",
  // snapshots needed for scala 2.9.0 support
  "org.scalatra" %% "scalatra" % "2.1.0-SNAPSHOT",
  "org.scalatra" %% "scalatra-scalate" % "2.1.0-SNAPSHOT",
  "org.scalatra" %% "scalatra-fileupload" % "2.1.0-SNAPSHOT",
  "org.fusesource.scalate" % "scalate-jruby" % "1.5.0",
  "org.fusesource.scalamd" % "scalamd" % "1.5", // % runtime,
  "org.mortbay.jetty" % "jetty" % "6.1.22",
  "net.debasishg" % "sjson_2.9.0" % "0.12",
  "com.lambdaworks" % "scrypt" % "1.2.0",
  "org.mortbay.jetty" % "jetty" % "6.1.22" % "container",
  // "org.bowlerframework" %% "core" % "0.4.1",
  "net.sf.opencsv" % "opencsv" % "2.1",
  "org.apache.commons" % "commons-math" % "2.2",
  "org.apache.commons" % "commons-lang3" % "3.0",
  "com.google.protobuf" % "protobuf-java" % "2.4.1",
  "ch.qos.logback" % "logback-classic" % "0.9.29",
  "org.scalatest" % "scalatest_2.9.0" % "1.6.1",
  "com.h2database" % "h2" % "1.3.158",
  "pentaho.weka" % "pdm-3.7-ce" % "SNAPSHOT",
  // this line doesn't work due to sbt bug:
  // https://github.com/harrah/xsbt/issues/263
  // work around by manually downloading this into the lib/ directory
  // "org.rosuda" % "jri" % "0.9-1" from "https://dev.partyondata.com/deps/jri-0.9-1.jar",
  "net.java.dev.jna" % "jna" % "3.3.0",
  "org.scalala" % "scalala_2.9.0" % "1.0.0.RC2-SNAPSHOT",
  "com.joestelmach" % "natty" % "0.5",
  "rhino" % "js" % "1.7R2",
  "junit" % "junit" % "4.9",
  "org.apache.commons" % "commons-email" % "1.2",
  "commons-validator" % "commons-validator" % "1.3.1",
  "oro" % "oro" % "2.0.8", // validator depends on this
  "org.scala-tools.time" %% "time" % "0.5",
  "com.carrotsearch" % "hppc" % "0.4.1",
  // "com.twitter" %% "util" % "1.12.12",
  "com.yammer.metrics" % "metrics-core" % "2.0.0-RC0",
  "org.clapper" %% "grizzled-scala" % "1.0.9",
  "com.googlecode.linkedin-j" % "linkedin-j-core" % "1.0.416",
  "javax.servlet" % "servlet-api" % "2.5" % "provided->default"
)

fork in run := true

mainClass in Revolver.reStart := Some("com.partyondata.Web")

javaOptions ++= (
  Seq(
    "-Dcom.sun.management.jmxremote",
    "-Dcom.sun.management.jmxremote.port=3030",
    "-Dcom.sun.management.jmxremote.authenticate=false",
    "-Dcom.sun.management.jmxremote.ssl=false",
    "-Xmx3G",
    "-Djava.library.path=" + System.getenv("HOME") +
    "/R/x86_64-pc-linux-gnu-library/2.13/rJava/jri:" +
    "/usr/lib/R/site-library/rJava/jri"
  )
)

javaOptions in Revolver.reStart <++= javaOptions

javaOptions ++= (System.getenv("JREBEL_PATH") match {
  case null => Seq()
  case path => Seq("-javaagent:" + path)
})

scalacOptions ++= Seq("-g:vars", "-deprecation", "-unchecked")

// needed for the scalatra snapshots
resolvers ++= Seq(
  "Twitter" at "http://maven.twttr.com/",
  "Scala-Tools Snapshots" at "http://scala-tools.org/repo-snapshots/",
  "Sonatype OSS Snapshots" at "http://oss.sonatype.org/content/repositories/snapshots/",
  ...
)

initialCommands in consoleQuick := """
import scalala.scalar._;
import scalala.tensor.::;
import scalala.tensor.mutable._;
import scalala.tensor.dense._;
import scalala.tensor.sparse._;
import scalala.library.Library._;
import scalala.library.LinearAlgebra._;
import scalala.library.Statistics._;
import scalala.library.Plotting._;
import scalala.operators.Implicits._;
//
import scala.collection.{mutable => mut}
import scala.collection.JavaConversions._
import ru.circumflex.orm._
import ru.circumflex.core._
"""

And my plugins.sbt:

//
// xsbt-web-plugin
//

libraryDependencies <+= sbtVersion(v => v match {
case "0.11.0" => "com.github.siasia" %% "xsbt-web-plugin" % "0.11.0-0.2.8"
case "0.11.1" => "com.github.siasia" %% "xsbt-web-plugin" % "0.11.1-0.2.10"
case "0.11.2" => "com.github.siasia" %% "xsbt-web-plugin" % "0.11.2-0.2.11"
})

//
// sbteclipse
//

addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "2.0.0")

//
// sbt-protobuf
//

resolvers += "gseitz@github" at "http://gseitz.github.com/maven/"

addSbtPlugin("com.github.gseitz" % "sbt-protobuf" % "0.2.2")

//
// coffeescripted-sbt: this doesn't work
//

resolvers += "less is" at "http://repo.lessis.me"

addSbtPlugin("me.lessis" % "coffeescripted-sbt" % "0.2.0")

//
// sbt-resolver
//

resolvers += "spray repo" at "http://repo.spray.cc"

addSbtPlugin("cc.spray" % "sbt-revolver" % "0.6.0")

This problem only occurs if I include the dependency:

"com.joestelmach" % "natty" % "0.5"

Any ideas on how to work around this issue? Thanks in advance.


回答1:


I had a similar issue with a dependency of camel test spring. Fixed it by marking it intransitive

libraryDependencies += "org.apache.camel" % "camel-test-spring" % "2.10.1" % "test" intransitive()



回答2:


You could try adding this line to .sbt file:

dependencyOverrides += "org.apache.camel" % "camel-test-spring" % "2.10.1" % "test"


来源:https://stackoverflow.com/questions/9525417/sbt-impossible-to-get-artifacts-when-data-has-not-been-loaded-ivynode-org-a

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!