【问题标题】:Play activator downloading resources on each run每次运行时播放激活器下载资源
【发布时间】:2016-09-10 16:05:26
【问题描述】:

我正在尝试通过在 Play 框架中实现一个简单的 API 来学习 Scala。我正在通过命令创建应用程序

activator new app play-scala

然后在app 文件夹中我正在运行激活程序,然后它开始从互联网下载大量数据。我在build.sbt 中尝试了offline:=true 并使用离线版本激活器而不是最小的激活器,但没有成功。

[info] Loading project definition from /home/amit/Codes/scala/app/project
[info] Updating {file:/home/amit/Codes/scala/app/project/}app-build...
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.
[info] Set current project to app (in build file:/home/amit/Codes/scala/app/)
[info] Updating {file:/home/amit/Codes/scala/app/}root...
[info] Resolving jline#jline;2.12.1 ...
[info] downloading https://repo1.maven.org/maven2/com/typesafe/play/play-omnidoc_2.11/2.5.3/play-omnidoc_2.11-2.5.3.jar ...
[info] downloading http://repo.typesafe.com/typesafe/ivy-releases/com.typesafe.sbtrc/client-2-11/0.3.1/jars/client-2-11.jar ...
[info]  [SUCCESSFUL ] com.typesafe.sbtrc#client-2-11;0.3.1!client-2-11.jar (102499ms)
[info] downloading https://repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.11.5/scala-reflect-2.11.5.jar ...
[info]  [SUCCESSFUL ] org.scala-lang#scala-reflect;2.11.5!scala-reflect.jar (136599ms)
[info] downloading http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/serialization_2.11/0.1.0/jars/serialization_2.11.jar ...
[info]  [SUCCESSFUL ] org.scala-sbt#serialization_2.11;0.1.0!serialization_2.11.jar (12655ms)
[info] downloading http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/io_2.11/0.13.8-M3/jars/io_2.11.jar ...

我的连接速度很慢,我被它困住了。我不知道 python-flask 中简单的东西在 scala-play 中却如此困难,还是我错过了什么?

【问题讨论】:

  • 您是否尝试让它完成第一次下载?一旦完成,它不应该再次需要。我的建议是等待......
  • 另外,检查文件是否被保存到~/.ivy2目录。
  • 不,它花费的时间太长了。我等了 20-30 分钟然后取消了它。我将在更快的连接上运行它。 @marcospereira 是的,./cache 和 ./jars 目录中有很多文件。

标签: scala playframework sbt typesafe-activator playframework-2.5


【解决方案1】:

通过发出activator new app play-scala 激活器只会创建模板的副本(通常位于~/.activator//templates)。当然模板本身必须先下载,但它通常很小。

您所看到的效果是,当您运行activator run 时,SBT 第一次解决了根据模板创建的应用程序的依赖关系。可能会发生两种情况:

  1. 您的~/.ivy2 目录中已经有很多依赖项,因为例如您之前根据模板创建了项目,或者通过 SBT 创建了具有类似依赖关系的项目(不严格使用激活器)。然后依赖关系将被解析而不是下载。
  2. 您在 ~/.ivy2 中根本没有依赖项,或者您的模板使用了不同的依赖项,因此必须下载它们。

您的里程可能会有所不同,但重要的是您的依赖项与您的模板相关,而不是与激活器本身相关。另一个需要注意的重要事项是,它们必须至少下载一次才能使用(这在很大程度上取决于您的 ~/.ivy2 目录的状态)。

我猜你是第一次尝试activator,或者至少是play-scala 模板,因此你必须等待并且一定要使用更好的互联网连接:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-04
    • 2017-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-30
    • 2015-06-04
    • 1970-01-01
    相关资源
    最近更新 更多