所以我试图在512mb Digital Ocean服务器上编译和运行scala项目。基本上,我遇到的问题是,当它开始编译时,它会拉入所有依赖项,并最终耗尽内存。这是正常的吗?我知道我想要运行的项目不需要超过512mb,并且为了使其编译而不得不增加大小将是一种耻辱。我在这里做错了吗?
这是我的build.sbt,请注意这是使用sbt.version 13.8
scalaVersion := "2.10.2"
libraryDependencies ++= {
val akkaV = "2.1.4"
val sprayV = "1.1.1"
Seq(
"com.typesafe.akka" %% "akka-actor" % akkaV,
"com.typesafe.akka" %% "akka-testkit" % akkaV % "test",
"org.specs2" %% "specs2-core" % "2.3.9" % "test",
"org.twitter4j" % "twitter4j-stream" % "4.0.2",
"io.spray" % "spray-can" % sprayV,
"io.spray" % "spray-routing" % sprayV,
"io.spray" % "spray-client" % sprayV,
"io.spray" % "spray-testkit" % sprayV,
"io.spray" % "spray-json_2.10" % "1.2.5",
"com.github.nscala-time" %% "nscala-time" % "1.4.0",
"com.codahale.metrics" % "metrics-core" % "3.0.1",
"org.elasticsearch" % "metrics-elasticsearch-reporter" % "2.0"
)
}
enablePlugins(JavaAppPackaging)
//settings(com.typesafe.sbt.SbtNativePackager.packageArchetype.java_application: _*)
Revolver.settings
答案 0 :(得分:0)
你可以使用技巧。 Sbt对虚拟内存有要求(它忽略了低值的jvm堆选项),因此打开交换空间(在DO映像中默认禁用它)。如果实际内存足够,则对性能没有影响。