sbt使用one-jar对scala统一打包成一个jar文件
2016-05-25 00:00
330 查看
摘要: sbt打包jar,合并jar
使用one-jar
1) build.sbt文件,修改为以下内容
2) project\plugins.sbt
3) project\Build.scala
4) 然后使用命令行进入当前代码的目录,启动sbt,执行one-jar
最后查看一下这个jar包,由于当前项目依赖比较多,文件比较大,有27M左右,
测试运行一下
java -jar E:\scalaProject\xxxxxx\target\scala-2.11\xxxxxxx_2.11-1.0-one-jar.jar
很好,代码启动了.
使用one-jar
1) build.sbt文件,修改为以下内容
import com.github.retronym.SbtOneJar._ oneJarSettings //上面是导入的onejar name := "xxxx" version := "1.0" scalaVersion := "2.11.7" //这个是需要运行的主类或者object mainClass in oneJar := Some("com.test.MainServer")
2) project\plugins.sbt
//添加插件依赖 addSbtPlugin("com.github.retronym" % "sbt-onejar" % "0.7")
3) project\Build.scala
import com.github.retronym.SbtOneJar import sbt._ import sbt.Keys._ object Build extends Build { scalaVersion := "2.11.7" // 添加onejar设置 def standardSettings = Seq( exportJars := true ) // defaultSettings 自定义的,一些依赖或者参数,具体项目具体定义,也可以去掉 lazy val project = Project("xxxx", file("."), settings = defaultSettings ++ standardSettings ++ SbtOneJar.oneJarSettings ) }
4) 然后使用命令行进入当前代码的目录,启动sbt,执行one-jar
> one-jar [info] Updating {file:/E:/scalaProject/xxxxx/}xxxxxx... Waiting for lock on C:\Users\xxxxxx\.ivy2\.sbt.ivy.lock to be available... [info] Resolving jline#jline;2.12.1 ... [info] Done updating. [info] Packaging E:\scalaProject\xxxxxx\target\scala-2.11\xxxxxxx_2.11-1.0-one-jar.jar ... [info] Done packaging. [success] Total time: 10 s, completed 2016-xx-xx 11:41:00
最后查看一下这个jar包,由于当前项目依赖比较多,文件比较大,有27M左右,
测试运行一下
java -jar E:\scalaProject\xxxxxx\target\scala-2.11\xxxxxxx_2.11-1.0-one-jar.jar
很好,代码启动了.
相关文章推荐
- 云计算安全问题谁来进行保障
- Spring源码解析——如何阅读源码
- Spring 学习第一天
- dajngo 权限机制
- C# 读写txt
- 蜂窝教育java培训专家:大数据分析要从何入手?
- SNMP 自定义MIB
- 合并两个有序链表 经典面试题
- 第七届 科技节 电子设计大赛 三等奖作品---高分辨率手机屏幕显示系统设计与实现
- C++实验6作业
- 垃圾收集机制
- jQuery学习和知识点总结归纳
- 各种图表js效果
- 在CI视图中再用load_view()载入视图文件的处理方法
- Sublime Text Package Control错误另解
- Oracle学习笔记八 表空间
- Oracle学习笔记九 数据库对象
- Oracle学习笔记十 使用PL/SQL
- Oracle学习笔记十一 游标
- Oracle学习笔记十二 子程序(存储过程、自定函数)和程序包