【发布时间】:2018-03-02 21:17:23
【问题描述】:
我有下一个 build.sbt 文件:
name := "olbico-spark-solution"
version := "0.2"
scalaVersion := "2.11.8"
resolvers += "Typesafe ivy repository" at "https://repo.typesafe.com/typesafe/ivy-releases/"
resolvers += "Typesafe maven repository" at "https://repo.typesafe.com/typesafe/maven-releases/"
mainClass in (Compile, run) := Some("com.olbico.spark.MergeManager")
mainClass in (Compile, packageBin) := Some("com.olbico.spark.MergeManager")
mappings in (Compile, packageBin) += {
(baseDirectory.value / "src/main/config/current.conf") -> "config/current.conf"
}
libraryDependencies ++= {
val sparkVer = "2.2.0"
Seq(
"org.apache.spark" %% "spark-core" % sparkVer % "provided" withSources(),
"org.apache.spark" %% "spark-sql" % sparkVer % "provided" withSources(),
"com.typesafe" % "config" % "1.3.1" withSources()
)
}
我想要实现的是向 com.typesafe.config 添加一个依赖项。使用当前的 sbt 配置,我希望最终的字节码具有以下结构:
~/test-spark-solution/target/scala-2.11/classes
-com
-olbico
-spark
JobManager$class.class
JobManager.class
... more classes
-typesafe
-config
Optional.class
DefaultConfigLoadingStrategy.class
... more classes
或者至少将 config-1.3.1.jar 添加到最终的包 jar 中。这两种解决方案都被我接受了,尽管现在这些都没有完成。在 ~/olbico-spark-solution/target/scala-2.11/classes 我有以下结构:
-com
-olbico
-spark
JobManager$class.class
JobManager.class
... more classes
同样在打包后没有 config-1.3.1.jar 包含在包 jar 中。使用 SBT 向我的项目添加单个依赖项的最佳方法是什么?
【问题讨论】:
标签: scala apache-spark intellij-idea sbt