所以我正尝试在一个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发布于 2015-07-19 01:51:46
你可以使用一个技巧。Sbt对虚拟内存有要求(它忽略低值的jvm堆选项),因此打开交换空间(在DO映像中默认禁用它)。如果实际内存足够,则不会对性能产生影响。
https://stackoverflow.com/questions/31483044
复制相似问题