我有一个简单的游戏! build.sbt中没有特殊要求的应用程序;

name := """project-name"""

version := "1.0-SNAPSHOT"

lazy val root = (project in file(".")).enablePlugins(PlayScala)

scalaVersion := "2.11.6"

libraryDependencies ++= Seq(
  jdbc,
  javaJdbc,
  javaEbean,
  "mysql" % "mysql-connector-java" % "5.1.38",
  cache,
  ws,
  "com.googlecode.libphonenumber" % "libphonenumber" % "7.1.0"
)

// string metrics
libraryDependencies += "com.rockymadden.stringmetric" %% "stringmetric-core" % "0.27.4"

resolvers += "scalaz-bintray" at "http://dl.bintray.com/scalaz/releases"

Dockerfile内部,我尝试通过activator distsbt distactivator stage命令构建此应用程序的可执行文件。

当我在计算机上运行上述所有程序时,它们都可以完美地工作。但是,当我从Docker容器中运行完全相同的命令时,我会注意到;
  • SBT花费很长时间来解决依赖关系,进展非常缓慢
    通过依赖项列表。
  • 构建失败,并显示以下内容:sbt.ResolveException: download failed:org.scalaz#scalaz-core_2.10;7.0.2!scalaz-core_2.10.jar(bundle)

  • 我怀疑这是否与SBT或特定于Docker容器有关的错误。
    有没有人见过这个?

    最佳答案

    Mounting the .ivy2 and .sbt directories in the container大大提高了编译速度:

    -v ~/.sbt:/root/.sbt -v ~/.ivy2:/root/.ivy2
    

    关于scala - SBT:在Docker容器中进行构建时解析速度慢且失败,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34925302/

    10-12 17:54
    查看更多