Scala Play Framework IOException错误

时间:2014-01-31 13:29:53

标签: scala playframework-2.0 ioexception

我从朋友那里得到了一个项目。在Windows 7上一切正常,但是当我切换到Windows XP时,我收到“IOException:Device not ready”错误。

一些细节: Windows XP NTFS文件系统

Play可用的错误堆栈:

Unexpected exception
IOException: Device not ready 
No source available, here is the exception stack trace: 
->java.io.IOException: Urządzenie nie jest gotowe
     java.io.WinNTFileSystem.canonicalize0(Native Method)
     java.io.Win32FileSystem.canonicalize(Unknown Source)
     java.io.File.getCanonicalPath(Unknown Source)
     sbt.inc.Incremental$$anonfun$externalBinaryModified$1$$anonfun$apply$2$$anonfun$apply$3.apply(Incremental.scala:225)
     sbt.inc.Incremental$$anonfun$externalBinaryModified$1$$anonfun$apply$2$$anonfun$apply$3.apply(Incremental.scala:222)
     scala.Option.map(Option.scala:133)
     sbt.inc.Incremental$$anonfun$externalBinaryModified$1$$anonfun$apply$2.apply(Incremental.scala:222)
     sbt.inc.Incremental$$anonfun$externalBinaryModified$1$$anonfun$apply$2.apply(Incremental.scala:221)
     scala.Option.flatMap(Option.scala:146)
     sbt.inc.Incremental$$anonfun$externalBinaryModified$1.apply(Incremental.scala:221)
     sbt.inc.Incremental$$anonfun$externalBinaryModified$1.apply(Incremental.scala:217)
     scala.collection.TraversableLike$$anonfun$filter$1.apply(TraversableLike.scala:252)
     scala.collection.MapLike$DefaultKeySet$$anonfun$foreach$2.apply(MapLike.scala:171)
     scala.collection.MapLike$DefaultKeySet$$anonfun$foreach$2.apply(MapLike.scala:171)
     scala.collection.immutable.HashMap$HashMap1.foreach(HashMap.scala:178)
     scala.collection.immutable.HashMap$HashTrieMap.foreach(HashMap.scala:347)
     scala.collection.MapLike$DefaultKeySet.foreach(MapLike.scala:171)
     scala.collection.TraversableLike$class.filter(TraversableLike.scala:251)
     scala.collection.MapLike$DefaultKeySet.filter(MapLike.scala:165)
     sbt.inc.Incremental$.changedInitial(Incremental.scala:99)
     sbt.inc.Incremental$.compile(Incremental.scala:21)
     sbt.inc.IncrementalCompile$.apply(Compile.scala:20)
     sbt.compiler.AggressiveCompile.compile2(AggressiveCompile.scala:96)
     sbt.compiler.AggressiveCompile.compile1(AggressiveCompile.scala:44)
     sbt.compiler.AggressiveCompile.apply(AggressiveCompile.scala:31)
     sbt.Compiler$.apply(Compiler.scala:79)
     sbt.Defaults$$anonfun$compileTask$1.apply(Defaults.scala:572)
     sbt.Defaults$$anonfun$compileTask$1.apply(Defaults.scala:572)
     sbt.Scoped$$anonfun$hf2$1.apply(Structure.scala:578)
     sbt.Scoped$$anonfun$hf2$1.apply(Structure.scala:578)
     scala.Function1$$anonfun$compose$1.apply(Function1.scala:49)
     sbt.Scoped$Reduced$$anonfun$combine$1$$anonfun$apply$12.apply(Structure.scala:311)
     sbt.Scoped$Reduced$$anonfun$combine$1$$anonfun$apply$12.apply(Structure.scala:311)
     sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:41)
     sbt.std.Transform$$anon$5.work(System.scala:71)
     sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:232)
     sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:232)
     sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:18)
     sbt.Execute.work(Execute.scala:238)
     sbt.Execute$$anonfun$submit$1.apply(Execute.scala:232)
     sbt.Execute$$anonfun$submit$1.apply(Execute.scala:232)
     sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:160)
     sbt.CompletionService$$anon$2.call(CompletionService.scala:30)
     java.util.concurrent.FutureTask.run(Unknown Source)
     java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
     java.util.concurrent.FutureTask.run(Unknown Source)
     java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
     java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
     java.lang.Thread.run(Unknown Source)

有任何帮助吗?我已经为项目中的所有文件和文件夹设置了读/写装置。

3 个答案:

答案 0 :(得分:2)

我遇到了同样的问题。对我来说,解决方案是运行play clean并重新编译项目。

答案 1 :(得分:1)

这不是关于你的代码库,而是关于SBT无法读取你的文件系统的东西,可能是缺少权限的东西,从sbt下删除了目录。确保您拥有项目所在的文件系统的读写权限,并且不受可用空间等的限制。

答案 2 :(得分:1)

SBT(Play使用的构建工具)正在尝试编译您的文件,但它无法访问文件系统,例如如果代码位于已卸载的外部硬盘驱动器上。