【问题标题】:impossible to get artifacts when data has not been loaded. IvyNode = org.scala-lang#scala-library;2.10.3未加载数据时无法获取工件。 IvyNode = org.scala-lang#scala-library;2.10.3
【发布时间】:2016-05-01 06:53:12
【问题描述】:

我在Spark-1.5.1的根目录下使用sbt assembly在windows上构建Spark源码时,用了半天,报错。

[error] (hive/*:update) java.lang.IllegalStateException: impossible to get artifacts when data has not been loaded. IvyNode = org.scala-lang#scala-library;2.10.3

Spark 版本 1.5.1

我安装的sbt版本0.13.9

有人可以帮助我吗?

日志(第二次执行sbt assembly

[warn] Strategy 'first' was applied to 247 files
[info] Assembly up to date: D:\dev\spark-1.5.1\assembly\target\scala-2.10\spark-assembly-1.5.1-hadoop2.6.0.jar
java.lang.IllegalStateException: impossible to get artifacts when data has not been loaded. IvyNode = org.scala-lang#scala-library;2.10.3
        at org.apache.ivy.core.resolve.IvyNode.getArtifacts(IvyNode.java:809)
        at org.apache.ivy.core.resolve.IvyNode.getSelectedArtifacts(IvyNode.java:786)
        at org.apache.ivy.core.report.ResolveReport.setDependencies(ResolveReport.java:235)
        at org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:235)
        at org.apache.ivy.Ivy.resolve(Ivy.java:517)
        at sbt.IvyActions$.sbt$IvyActions$$resolve(IvyActions.scala:266)
        at sbt.IvyActions$$anonfun$updateEither$1.apply(IvyActions.scala:175)
        at sbt.IvyActions$$anonfun$updateEither$1.apply(IvyActions.scala:157)
        at sbt.IvySbt$Module$$anonfun$withModule$1.apply(Ivy.scala:151)
        at sbt.IvySbt$Module$$anonfun$withModule$1.apply(Ivy.scala:151)
        at sbt.IvySbt$$anonfun$withIvy$1.apply(Ivy.scala:128)
        at sbt.IvySbt.sbt$IvySbt$$action$1(Ivy.scala:56)
        at sbt.IvySbt$$anon$4.call(Ivy.scala:64)
        at xsbt.boot.Locks$GlobalLock.withChannel$1(Locks.scala:93)
        at xsbt.boot.Locks$GlobalLock.xsbt$boot$Locks$GlobalLock$$withChannelRetries$1(Locks.scala:78)
        at xsbt.boot.Locks$GlobalLock$$anonfun$withFileLock$1.apply(Locks.scala:97)
        at xsbt.boot.Using$.withResource(Using.scala:10)
        at xsbt.boot.Using$.apply(Using.scala:9)
        at xsbt.boot.Locks$GlobalLock.ignoringDeadlockAvoided(Locks.scala:58)
        at xsbt.boot.Locks$GlobalLock.withLock(Locks.scala:48)
        at xsbt.boot.Locks$.apply0(Locks.scala:31)
        at xsbt.boot.Locks$.apply(Locks.scala:28)
        at sbt.IvySbt.withDefaultLogger(Ivy.scala:64)
        at sbt.IvySbt.withIvy(Ivy.scala:123)
        at sbt.IvySbt.withIvy(Ivy.scala:120)
        at sbt.IvySbt$Module.withModule(Ivy.scala:151)
        at sbt.IvyActions$.updateEither(IvyActions.scala:157)
        at sbt.Classpaths$$anonfun$sbt$Classpaths$$work$1$1.apply(Defaults.scala:1318)
        at sbt.Classpaths$$anonfun$sbt$Classpaths$$work$1$1.apply(Defaults.scala:1315)
        at sbt.Classpaths$$anonfun$doWork$1$1$$anonfun$85.apply(Defaults.scala:1345)
        at sbt.Classpaths$$anonfun$doWork$1$1$$anonfun$85.apply(Defaults.scala:1343)
        at sbt.Tracked$$anonfun$lastOutput$1.apply(Tracked.scala:35)
        at sbt.Classpaths$$anonfun$doWork$1$1.apply(Defaults.scala:1348)
        at sbt.Classpaths$$anonfun$doWork$1$1.apply(Defaults.scala:1342)
        at sbt.Tracked$$anonfun$inputChanged$1.apply(Tracked.scala:45)
        at sbt.Classpaths$.cachedUpdate(Defaults.scala:1360)
        at sbt.Classpaths$$anonfun$updateTask$1.apply(Defaults.scala:1300)
        at sbt.Classpaths$$anonfun$updateTask$1.apply(Defaults.scala:1275)
        at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
        at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:40)
        at sbt.std.Transform$$anon$4.work(System.scala:63)
        at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:226)
        at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:226)
        at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
        at sbt.Execute.work(Execute.scala:235)
        at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:226)
        at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:226)
        at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:159)
        at sbt.CompletionService$$anon$2.call(CompletionService.scala:28)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
[error] (hive/*:update) java.lang.IllegalStateException: impossible to get artifacts when data has not been loaded. IvyNode = org.scala-lang#scala-library;2.10.3
[error] Total time: 200 s, completed 2016-1-25 10:49:27

【问题讨论】:

    标签: scala apache-spark sbt


    【解决方案1】:

    我在 sbt 版本 0.13.8 中收到此错误

    对我有用的修复方法是编辑 project/build.properties 以使用 sbt.version = 0.13.9

    【讨论】:

    • 我不明白,为什么?这个 sbt 版本可以正常工作几个月,但突然出现了一些与常春藤相关的神秘错误。
    【解决方案2】:

    我在另一个项目中遇到了同样的错误,根据this link,“它似乎与传递依赖项有关,并且手动添加排除引入了某种不一致。”

    手动添加依赖为我修复了它。

    【讨论】:

      【解决方案3】:

      我在运行 ivy 时遇到了类似的错误,我在 ant/lib 中使用了 ivy-2.0.0.jar。通过将 ivy.jar 升级到 ivy-2.4.0 我的问题解决了。

      这是我在运行 ivy 任务时发现的错误:

      java.lang.IllegalStateException: impossible to get artifacts when data has not been loaded. IvyNode = junit#junit;4.4
      

      【讨论】:

        猜你喜欢
        • 2018-10-10
        • 1970-01-01
        • 2012-03-20
        • 2011-09-03
        • 2018-08-08
        • 2013-05-12
        • 2015-11-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多