【问题标题】:Why does activator fail with "IllegalArgumentException: requirement failed" upon creating new play project?为什么在创建新游戏项目时激活器会失败并显示“IllegalArgumentException:要求失败”?
【发布时间】:2015-01-13 02:56:07
【问题描述】:

我使用的是带有 Java 8 的 Windows 7。

我正在尝试创建一个新的 Play Framework 项目,如下所示:

activator new proj play-java

我得到了下面的异常。

[WARN] [11/15/2014 15:41:45.884] [default-akka.actor.default-dispatcher-3] [ActorSystem(default)] Failed to download new template catalog properties: java.lang.IllegalArgumentException: requirement failed: Source file 'C:\Users\Joe\.activator\1.2.10\templates\index.db_f57d6c4e52990e27.tmp' is a directory.
[INFO] [11/15/2014 15:41:45.886] [default-akka.actor.default-dispatcher-3] [akka://default/user/template-cache] We have index hash 92e262205ed9cd3af57575198c66ca1f74dfab63 but haven't downloaded that index - attempting to download it now.
[ERROR] [11/15/2014 15:41:46.210] [default-akka.actor.default-dispatcher-3] [akka://default/user/template-cache] Could not find a template catalog. (java.lang.IllegalArgumentException: requirement failed: Source file 'C:\Users\Joe\.activator\1.2.10\templates\index.db_687dfd4721d5d98b.tmp' is a directory.
java.lang.IllegalArgumentException: requirement failed: Source file 'C:\Users\Joe\.activator\1.2.10\templates\index.db_687dfd4721d5d98b.tmp' is a directory.
        at scala.Predef$.require(Predef.scala:219)
        at sbt.IO$.copyFile(IO.scala:584)
        at sbt.IO$.move(IO.scala:786)
        at activator.package$RichIO$.createViaTemporary$extension(package.scala:30)
        at activator.templates.repository.UriRemoteTemplateRepository$$anonfun$resolveIndexTo$1.apply(UriRemoteTemplateRepository.scala:228)
        at activator.templates.repository.UriRemoteTemplateRepository$$anonfun$resolveIndexTo$1.apply(UriRemoteTemplateRepository.scala:220)
        at sbt.IO$.withTemporaryDirectory(IO.scala:291)
        at activator.templates.repository.UriRemoteTemplateRepository.resolveIndexTo(UriRemoteTemplateRepository.scala:220)
        at activator.cache.TemplateCacheActor$$anonfun$9.apply(TemplateCacheActor.scala:165)
        at activator.cache.TemplateCacheActor$$anonfun$9.apply(TemplateCacheActor.scala:163)
java.lang.IllegalArgumentException: requirement failed: Source file 'C:\Users\Joe\.activator\1.2.10\templates\index.db_687dfd472
java.lang.IllegalArgumentException: requirement failed: Source file 'C:\Users\Joe\.activator\1.2.10\templates\index.db_687dfd472        
        at scala.Option.foreach(Option.scala:245)1d5d98b.tmp' is a directory.
        at activator.cache.TemplateCacheActor.preStart(TemplateCacheActor.scala:163)
        at scala.Predef$.require(Predef.scala:219)
        at akka.actor.Actor$class.aroundPreStart(Actor.scala:470)
        at sbt.IO$.copyFile(IO.scala:584)
        at activator.cache.TemplateCacheActor.aroundPreStart(TemplateCacheActor.scala:25)
        at sbt.IO$.move(IO.scala:786)
        at sbt.IO$.move(IO.scala:786)
        at akka.actor.ActorCell.create(ActorCell.scala:580)
        at activator.package$RichIO$.createViaTemporary$extension(package.scala:30)
        at activator.package$RichIO$.createViaTemporary$extension(package.scala:30)
        at akka.actor.ActorCell.invokeAll$1(ActorCell.scala:456)
        at activator.templates.repository.UriRemoteTemplateRepository$$anonfun$resolveIndexTo$1.apply(UriRemoteTemplateRepository.scala at akka.actor.ActorCell.systemInvoke(ActorCell.scala:478):228):228)
        at akka.dispatch.Mailbox.processAllSystemMessages(Mailbox.scala:263)
        at activator.templates.repository.UriRemoteTemplateRepository$$anonfun$resolveIndexTo$1.apply(UriRemoteTemplateRepository.scala at activator.templates.repository.UriRemoteTemplateRepository$$anonfun$resolveIndexTo$1.apply(UriRemoteTemplateRepository.scala at akka.dispatch.Mailbox.run(Mailbox.scala:219)
        at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:393)
        at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:393):220)
        at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
        at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
        at sbt.IO$.withTemporaryDirectory(IO.scala:291)
        at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
        at activator.templates.repository.UriRemoteTemplateRepository.resolveIndexTo(UriRemoteTemplateRepository.scala:220)
        at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
        at activator.cache.TemplateCacheActor$$anonfun$9.apply(TemplateCacheActor.scala:165)
        at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
        at activator.cache.TemplateCacheActor$$anonfun$9.apply(TemplateCacheActor.scala:163)
        at activator.cache.TemplateCacheActor$$anonfun$9.apply(TemplateCacheActr.scala:163)
        at scala.Option.foreach(Option.scala:245)
        at activator.cache.TemplateCacheActor.preStart(TemplateCacheActor.scala:163)
        at akka.actor.Actor$class.aroundPreStart(Actor.scala:470)
        at activator.cache.TemplateCacheActor.aroundPreStart(TemplateCacheActor.scala:25)
        at akka.actor.ActorCell.create(ActorCell.scala:580)
        at akka.actor.ActorCell.invokeAll$1(ActorCell.scala:456)
        at akka.actor.ActorCell.systemInvoke(ActorCell.scala:478)
        at akka.dispatch.Mailbox.processAllSystemMessages(Mailbox.scala:263)
        at akka.dispatch.Mailbox.run(Mailbox.scala:219)
        at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:393)
        at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
        at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
        at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
        at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)

我下载了完整的激活器安装包。我更新了它以确保所有内容都对每个文件都有权限。堆栈跟踪中的index.db_687dfd472 文件确实是一个目录,但它必须是在命令执行期间创建的。我已删除 .activator 项目并重新运行该命令,但仍然失败并出现相同的错误。

它已作为https://github.com/typesafehub/activator/issues/785 交叉发布到激活器问题跟踪器。 我会用任何答案更新其他网站。

【问题讨论】:

  • 你能做activator 'reboot full'看看是否有帮助吗?您使用什么命令行客户端 - cmd.exe 或其他类似 cygwinpowershell 的东西?您是否在代理背后?
  • 我正在使用 cmd.exe。没有代理。运行 activator reboot full 只会显示自述文本。我能够使用 UI 版本创建一个项目,所以我可能可以关闭它,但仍然是一个奇怪的错误。

标签: playframework-2.0 sbt typesafe-activator


【解决方案1】:

tl;dr 执行activator 'reboot full'

reboot full 背后的想法是清除所有本地 sbt 缓存并重新开始。 ~/.sbt 目录似乎以某种方式损坏,导致 sbt 无法正常运行。

【讨论】:

    猜你喜欢
    • 2023-02-03
    • 2022-10-02
    • 2015-01-30
    • 2014-08-29
    • 1970-01-01
    • 2019-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多