Sbt 程序集插件生成一个空 jar
Sbt assembly plugin generates an empty jar
我一直使用 maven 并且我正在学习 SBT,但我有一个问题:我正在使用程序集插件生成一个 fat jar 但使用此配置生成的 jar 仅包含 meta-inf 文件夹而没有 jar (没有我的 src 也没有依赖 jar)
ThisBuild / scalaVersion := "2.12.15"
ThisBuild / organization := "org.me"
ThisBuild / version := "0.1.0-SNAPSHOT"
Global / onChangedBuildSource := ReloadOnSourceChanges
lazy val root = (project in file("."))
.settings(
libraryDependencies += "org.apache.phoenix" % "phoenix-core" % "4.14.0-HBase-1.3",
libraryDependencies += "org.apache.phoenix" % "phoenix-queryserver-client" % "6.0.0",
assembly / assemblyMergeStrategy := (_ => MergeStrategy.first),
assembly / mainClass := Some("org.me.Test"),
assembly / assemblyJarName := "importer.jar"
)
我做错了什么?
为了解决这个问题,我更换了:
assembly / assemblyMergeStrategy := (_ => MergeStrategy.first
和
assemblyMergeStrategy in assembly := {
case PathList("META-INF", xs @ _*) => MergeStrategy.discard
case x => MergeStrategy.first
}
我一直使用 maven 并且我正在学习 SBT,但我有一个问题:我正在使用程序集插件生成一个 fat jar 但使用此配置生成的 jar 仅包含 meta-inf 文件夹而没有 jar (没有我的 src 也没有依赖 jar)
ThisBuild / scalaVersion := "2.12.15"
ThisBuild / organization := "org.me"
ThisBuild / version := "0.1.0-SNAPSHOT"
Global / onChangedBuildSource := ReloadOnSourceChanges
lazy val root = (project in file("."))
.settings(
libraryDependencies += "org.apache.phoenix" % "phoenix-core" % "4.14.0-HBase-1.3",
libraryDependencies += "org.apache.phoenix" % "phoenix-queryserver-client" % "6.0.0",
assembly / assemblyMergeStrategy := (_ => MergeStrategy.first),
assembly / mainClass := Some("org.me.Test"),
assembly / assemblyJarName := "importer.jar"
)
我做错了什么?
为了解决这个问题,我更换了:
assembly / assemblyMergeStrategy := (_ => MergeStrategy.first
和
assemblyMergeStrategy in assembly := {
case PathList("META-INF", xs @ _*) => MergeStrategy.discard
case x => MergeStrategy.first
}