sbt打jar包总结

项目根目录:build.sbt,内容如下:

name:="sqoopy"
version:="1.0"
scalaVersion:="2.11.8"
//使用阿里云的仓库
resolvers+="aliyun Maven Repository"at"http://maven.aliyun.com/nexus/content/groups/public"
externalResolvers:= Resolver.withDefaultResolvers(resolvers.value,mavenCentral =false)
//指定java版本
javacOptions++=Seq("-source","1.8","-target","1.8")
//依赖项,%%表示测试时需要,一般%; % "provided"表示此jar不打入最终的jar文件内
libraryDependencies+="org.apache.spark"%%"spark-core"%"2.1.1"%"provided"
libraryDependencies+="org.apache.spark"%%"spark-sql"%"2.1.1"%"provided"
//需要被打入fat jar的依赖
libraryDependencies+="com.typesafe"%"config"%"1.3.1"
libraryDependencies+="org.apache.httpcomponents"%"httpclient"%"4.5.2"
//指定主函数
mainClassinCompile:=Some("cn.leapstack.Transform")
//打包时,排除scala类库
assemblyOptioninassembly:= (assemblyOptioninassembly).value.copy(includeScala =false)

在项目根目录下的project文件夹下新建plugins.sbt,加入以下内容
addSbtPlugin("com.eed3si9n"%"sbt-assembly"%"0.14.5")
在项目根目录下执行:
sbt clean assembly

如果有些jar包maven仓库没有,而工程中确实要用到,你可以在项目根录下建立lib文件夹,将额外的jar放进去即可。
或者可以自定义lib文件夹的名称,例如:
unmanagedBase := "mylib"
然后将用到的jar包放到工程根目录的mylib文件夹下。
sbt会自动将lib下的jar包中的类加到最终的assembly jar中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值