【发布时间】:2017-03-16 21:33:57
【问题描述】:
我正在尝试使用 SBT 编译和打包一个胖 jar,但我一直遇到以下错误。我已经尝试了使用库依赖排除和合并的所有方法。
[trace] Stack trace suppressed: run last *:assembly for the full output.
[error] (*:assembly) deduplicate: different file contents found in the following:
[error] /Users/me/.ivy2/cache/org.slf4j/slf4j-api/jars/slf4j-api-1 .7.10.jar:META-INF/maven/org.slf4j/slf4j-api/pom.properties
[error] /Users/me/.ivy2/cache/com.twitter/parquet-format/jars/parquet-format-2.2.0-rc1.jar:META-INF/maven/org.slf4j/slf4j-api/pom.properties
[error] Total time: 113 s, completed Jul 10, 2015 1:57:21 AM
我的 build.sbt 文件的当前版本如下:
import AssemblyKeys._
assemblySettings
name := "ldaApp"
version := "0.1"
scalaVersion := "2.10.4"
mainClass := Some("myApp")
libraryDependencies +="org.scalanlp" %% "breeze" % "0.11.2"
libraryDependencies +="org.scalanlp" %% "breeze-natives" % "0.11.2"
libraryDependencies += "org.apache.spark" % "spark-mllib_2.10" % "1.3.1"
libraryDependencies +="org.ini4j" % "ini4j" % "0.5.4"
jarName in assembly := "myApp"
net.virtualvoid.sbt.graph.Plugin.graphSettings
libraryDependencies += "org.slf4j" %% "slf4j-api"" % "1.7.10" % "provided"
我意识到我做错了什么......我只是不知道是什么。
【问题讨论】:
-
有什么令人抓狂的?您正在尝试创建一个胖 jar,并且类路径中有重复项。我认为对于 sbt 程序集,可以选择忽略重复项
-
@user405887:为什么不包括(在您的问题中)您已经尝试过的内容?这样一来,尝试思考的人就不会向您提供该选项。我在这里看不到任何花招,请在这里保持诚意。
标签: scala apache-spark sbt sbt-assembly