1.assembly是SBT的一个plugin在使用之前应先把plugin安装好
在SBT目录的Project下面手动创建一个assembly.sbt的文件,参数为
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.3")
执行sbt plugins 可查看是否安装成功
2.在利用SBT assembly 打包的时候会遇到jar冲突的问题
在build.sbt添加如下语句,即不打包依赖的jar只把二进制文件进行打包
assemblyExcludedJars in assembly := { val cp = (fullClasspath in assembly).value cp }
-- 制定打包成jar的包名
assemblyJarName in assembly := "test-assembly.jar" -- 指定Scala运行的版本scalaVersion := "2.10.6"
3.在用Idea打包的时候报错
Exception in thread "main" java.lang.SecurityException: Invalid signature file digest for Manifest main attributes
执行如下命令:
zip -d sparketl.jar META-INF/*.RSA META-INF/*.DSA META-INF/*.SF