如何修复sbt报告"错误在GZIPInputStream中包装InputStream:java.io.EOFException"?

时间:2013-12-03 21:29:03

标签: sbt sbt-assembly

在空目录中运行sbt命令时,它会一直失败并出现以下异常:

$ sbt
[info] Loading global plugins from /Users/jacek/.sbt/0.13/plugins
Error wrapping InputStream in GZIPInputStream: java.io.EOFException
    at sbt.ErrorHandling$.translate(ErrorHandling.scala:11)
    at sbt.WrapUsing.open(Using.scala:36)
    at sbt.Using.apply(Using.scala:24)
    at sbt.IO$$anonfun$gzipFileIn$1.apply(IO.scala:778)
    at sbt.IO$$anonfun$gzipFileIn$1.apply(IO.scala:777)
    at sbt.Using.apply(Using.scala:25)
    at sbt.IO$.gzipFileIn(IO.scala:777)
    at sbt.Sync$.readUncaught(Sync.scala:88)
    at sbt.Sync$.readInfo(Sync.scala:84)
    at sbt.Sync$$anonfun$apply$1.apply(Sync.scala:29)
    at sbt.Sync$$anonfun$apply$1.apply(Sync.scala:23)
    at sbt.Defaults$$anonfun$copyResourcesTask$1.apply(Defaults.scala:770)
    at sbt.Defaults$$anonfun$copyResourcesTask$1.apply(Defaults.scala:766)
    at scala.Function4$$anonfun$tupled$1.apply(Function4.scala:35)
    at scala.Function4$$anonfun$tupled$1.apply(Function4.scala:34)
    at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
    at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:42)
    at sbt.std.Transform$$anon$4.work(System.scala:64)
    at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:237)
    at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:237)
    at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:18)
    at sbt.Execute.work(Execute.scala:244)
    at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:237)
    at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:237)
    at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:160)
    at sbt.CompletionService$$anon$2.call(CompletionService.scala:30)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:744)
Caused by: java.io.EOFException
    at java.util.zip.GZIPInputStream.readUByte(GZIPInputStream.java:264)
    at java.util.zip.GZIPInputStream.readUShort(GZIPInputStream.java:254)
    at java.util.zip.GZIPInputStream.readHeader(GZIPInputStream.java:163)
    at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:78)
    at sbt.Using$$anonfun$gzipInputStream$1.apply(Using.scala:91)
    at sbt.Using$$anonfun$gzipInputStream$1.apply(Using.scala:91)
    at sbt.Using$$anon$1.openImpl(Using.scala:56)
    at sbt.WrapUsing$$anonfun$open$2.apply(Using.scala:36)
    at sbt.ErrorHandling$.translate(ErrorHandling.scala:11)
    at sbt.WrapUsing.open(Using.scala:36)
    at sbt.Using.apply(Using.scala:24)
    at sbt.IO$$anonfun$gzipFileIn$1.apply(IO.scala:778)
    at sbt.IO$$anonfun$gzipFileIn$1.apply(IO.scala:777)
    at sbt.Using.apply(Using.scala:25)
    at sbt.IO$.gzipFileIn(IO.scala:777)
    at sbt.Sync$.readUncaught(Sync.scala:88)
    at sbt.Sync$.readInfo(Sync.scala:84)
    at sbt.Sync$$anonfun$apply$1.apply(Sync.scala:29)
    at sbt.Sync$$anonfun$apply$1.apply(Sync.scala:23)
    at sbt.Defaults$$anonfun$copyResourcesTask$1.apply(Defaults.scala:770)
    at sbt.Defaults$$anonfun$copyResourcesTask$1.apply(Defaults.scala:766)
    at scala.Function4$$anonfun$tupled$1.apply(Function4.scala:35)
    at scala.Function4$$anonfun$tupled$1.apply(Function4.scala:34)
    at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
    at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:42)
    at sbt.std.Transform$$anon$4.work(System.scala:64)
    at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:237)
    at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:237)
    at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:18)
    at sbt.Execute.work(Execute.scala:244)
    at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:237)
    at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:237)
    at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:160)
    at sbt.CompletionService$$anon$2.call(CompletionService.scala:30)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:744)
[error] (compile:copyResources) Error wrapping InputStream in GZIPInputStream: java.io.EOFException
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? q

问题的根本原因是什么?

4 个答案:

答案 0 :(得分:102)

看来该异常是由于本地仓库出现了一些问题。清理后,例如从target目录中删除~/.sbt目录,它现在正常工作。

jacek:~/.sbt
$ find . -name target | xargs rm -rf

jacek:~/sandbox/stackoverflow/testaaa
$ sbt
[info] Loading global plugins from /Users/jacek/.sbt/0.13/plugins
[info] Updating {file:/Users/jacek/.sbt/0.13/plugins/}global-plugins...
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.
[info] Set current project to testaaa (in build file:/Users/jacek/sandbox/stackoverflow/testaaa/)
[testaaa]>

我在play-framework论坛的帖子[2.1.1] SBT: InputStream in GZIPInputStream: java.io.EOFException中找到了解决方案。


我还被告知,在删除项目主目录中的所有target目录后问题就消失了,例如targetproject/target

jacek:my-project-path
$ find . -name target | xargs rm -rf

答案 1 :(得分:5)

转到项目目录

$ cd my-spark-app
$ rm -rf target
$ cd project 
$ rm -rf target project

现在开始sbt

$sbt 

答案 2 :(得分:0)

步骤1:如果Windows需要添加环境变量,则需要在.bash_profile中添加sbt路径,然后转到终端并运行./sbt文件。

第2步:从项目目录中删除目标文件夹。

步骤3:从intellijID终端运行sbt命令“sbt clean”然后“激活器清理”然后激活器更新“。

答案 3 :(得分:0)

您可以在目录上运行sbt clean(删除target以及之前可能已创建的/src中的所有文件),然后尝试运行sbt。 尝试通过运行sbt -Dsbt.version=0.13.15 new https://github.com/akka/akka-http-scala-seed.g8创建Akka HTTP种子项目时遇到此问题。我的错误是在运行命令时我不在空目录中。 有关错误的更多信息可以在here

找到