Sbt assembly使用

本文介绍如何使用 SBT 的 Assembly 插件来打包 Scala 项目,并解决打包过程中遇到的常见问题,如 jar 冲突等。还提供了解决 IDEA 打包时出现的安全异常错误的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值