我玩的很简单! 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 dist,sbt dist或activator stage命令构建这个应用程序的可执行文件.
当我在计算机上运行时,所有上述工作都完美无瑕.但是,当我从docker容器中运行完全相同的命令时,我注意到了;
> SBT需要很长时间来解决依赖关系,它进展非常缓慢
通过依赖列表.
>构建失败,并显示以下内容:
sbt.ResolveException:下载失败:
org.scalaz#scalaz-core_2.10;!7.0.2 scalaz-core_2.10.jar(束)
我怀疑这是否与SBT或Docker容器特有的错误有关.
谁看过这个吗?
最佳答案
Mounting the
.ivy2
and .sbt
directories in the container显着提高了编译速度:
-v ~/.sbt:/root/.sbt -v ~/.ivy2:/root/.ivy2