sbt项目很难解决依赖关系

时间:2015-08-12 05:51:35

标签: scala sbt

当我做

时,我的sbt项目需要超过15分钟
sbt clean compile

我在AWS上使用的是一台强大的机器。我相当肯定它不是cpu或互联网带宽上的资源问题。此外,我已经运行了几次这个命令,因此填充了常春藤缓存。

以下是我的所有构建相关文件

/build.sbt

name := "ProjectX"

version := "1.0"

scalaVersion := "2.10.5"

libraryDependencies += ("org.apache.spark" %% "spark-streaming" % "1.4.1")
  .exclude("org.slf4j", "slf4j-log4j12")
  .exclude("log4j", "log4j")
  .exclude("commons-logging", "commons-logging")
  .%("provided")

libraryDependencies += ("org.apache.spark" %% "spark-streaming-kinesis-asl" % "1.4.1")
  .exclude("org.slf4j", "slf4j-log4j12")
  .exclude("log4j", "log4j")
  .exclude("commons-logging", "commons-logging")

libraryDependencies += "org.mongodb" %% "casbah" % "2.8.1"

//test
libraryDependencies += "org.scalatest" %% "scalatest" % "2.2.4" % "test"

//logging
libraryDependencies ++= Seq(
  //facade
  "org.slf4j" % "slf4j-api" % "1.7.12",
  "org.clapper" %% "grizzled-slf4j" % "1.0.2",
  //jcl (used by aws sdks)
  "org.slf4j" % "jcl-over-slf4j" % "1.7.12",
  //log4j1 (spark)
  "org.slf4j" % "log4j-over-slf4j" % "1.7.12",
  //log4j2
  "org.apache.logging.log4j" % "log4j-api" % "2.3",
  "org.apache.logging.log4j" % "log4j-core" % "2.3",
  "org.apache.logging.log4j" % "log4j-slf4j-impl" % "2.3"
  //alternative to log4j2
  //"org.slf4j" % "slf4j-simple" % "1.7.5"
)

/project/build.properties

sbt.version = 0.13.8

/project/plugins.sbt

logLevel := Level.Warn

addSbtPlugin("org.scalastyle" %% "scalastyle-sbt-plugin" % "0.7.0")

resolvers += "sonatype-releases" at "https://oss.sonatype.org/content/repositories/releases/"

/project/assembly.sbt

addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.13.0")

1 个答案:

答案 0 :(得分:1)

在日志中,您会看到以下条目:

[info]  [SUCCESSFUL ] org.apache.spark#spark-streaming-kinesis-asl_2.10;1.4.1!spark-streaming-kinesis-asl_2.10.jar (239ms)

这表明您正在下载这些工件。换句话说,您正在启动的AMI没有填充常春藤缓存。

在带有SSD的笔记本电脑上使用sbt 0.13.12,clean然后update获得约5s。

so-31956971> update
[info] Updating {file:/xxx/so-31956971/}app...
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.
[success] Total time: 5 s, completed Aug 25, 2016 4:00:00 AM