3

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

激活器新应用 play-scala

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

[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 中会如此困难,还是我错过了什么?

4

1 回答 1

1

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

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

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

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

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

于 2016-05-14T22:59:35.343 回答