sbt使用one-jar对scala统一打包成一个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

很好,代码启动了.

转载于:https://my.oschina.net/u/1538135/blog/680946

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值