`
sillycat
  • 浏览: 2539830 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

set Assembly in build.sbt

 
阅读更多
set Assembly in build.sbt

plugins configured in plugins.sbt
logLevel := Level.Warn

addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.13.0")

addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.6.0")

Configurations in build.sbt
import sbtassembly.MergeStrategy
import sbtassembly.PathList
import sbtassembly.AssemblyKeys

name := "jobs-consumer"

version := "1.0"

//for redis testing
resolvers += "rediscala" at "http://dl.bintray.com/etaty/maven"

//for solr-core testing
resolvers += "Restlet Repositories" at "http://maven.restlet.org"

//scalacOptions += "-feature"

libraryDependencies ++= Seq(
  "com.amazonaws" % "aws-java-sdk" % "1.10.6",                //
  "org.slf4j" % "slf4j-api" % "1.7.12",                       // MIT
  "org.slf4j" % "slf4j-log4j12" % "1.7.12",
  "com.typesafe" % "config" % "1.3.0",
  "com.etaty.rediscala" %% "rediscala" % "1.4.2",
  "org.msgpack" % "msgpack" % "0.6.12",
  "org.apache.solr" % "solr-solrj" % "5.3.0",
  "com.thoughtworks.xstream" % "xstream" % "1.4.8",
  "commons-lang" % "commons-lang" % "2.6",                    //html escape
  "org.joda" % "joda-convert" % "1.7",
  "org.scalatest" %% "scalatest" % "2.2.0" % "test",          // Apache v2
  "org.mockito" % "mockito-all" % "1.9.5" % "test",           // MIT
  "com.orange.redis-embedded" % "embedded-redis" % "0.6" % "test",
  "org.apache.solr" % "solr-core" % "5.3.0" % "test"
)

AssemblyKeys.assemblyMergeStrategy in AssemblyKeys.assembly := {
  case PathList("javax", "servlet", xs @ _*)         => MergeStrategy.first
  case PathList("org", "xmlpull", "v1", xs @ _*)     => MergeStrategy.first
  case PathList(ps @ _*) if ps.last endsWith ".html" => MergeStrategy.first
  case "application.conf"                            => MergeStrategy.concat
  case "unwanted.txt"                                => MergeStrategy.discard
  case x =>
    val oldStrategy = (AssemblyKeys.assemblyMergeStrategy in AssemblyKeys.assembly).value
    oldStrategy(x)
}

How to Build
> sbt clean update compile assembly

How to Run
> java -cp target/scala-2.10/packageName_2.10-1.0.jar com.sillycat.package.ClassConsumer

References:
http://sillycat.iteye.com/blog/2083193
https://github.com/sbt/sbt-assembly
分享到:
评论

相关推荐

    maven2sbt:一种将pom.xml转换为build.sbt的工具

    本文将深入探讨“maven2sbt”这一实用工具,它能将基于Maven的pom.xml配置文件转换为适用于sbt的build.sbt文件。 首先,我们来看标题中的关键点:“maven2sbt”。这是一个开源项目,它的主要功能是将一个标准的...

    sbt-buildinfo:我知道这一点,因为build.sbt知道这一点

    sbt-buildinfo 我知道这一点,因为...用法在您的build.sbt添加以下build.sbt : lazy val root = (project in file( " . " )). enablePlugins( BuildInfoPlugin ). settings( buildInfoKeys : = Seq [ Build

    Intellj idea 2017.1.1 sbt 插件和Scala 插件

    在2017.1.1版本中,它提供了对SBT(Simple Build Tool)的支持,这使得Scala项目的构建和管理变得更加便捷。SBT是Scala社区广泛采用的构建工具,它允许开发者以声明式的方式定义项目结构和依赖关系。 **SBT插件的...

    pomToSbt:将 pom 依赖项转换为可以填充到 build.sbt 中的内容

    将 pom 依赖项转换为可以填充到 build.sbt 中的内容。 改编自 George Pligor 的很棒的 Scala 脚本,但这不是 Scala 脚本,而是普通的Scala程序。 我只是发现这种改编对我的需求更有用,并且在您的系统上设置 Scala...

    Eclipse下创建sbt项目

    在Windows平台上,可以从http://www.scala-sbt.org/release/tutorial/Installing-sbt-on-Windows.html下载msi安装包,然后直接安装。 二、创建项目结构 创建一个文件夹,例如SparkLongZhou,这个文件夹将作为项目...

    sbt-1.9.0.tgz

    例如,`sbt package`命令将项目打包为JAR,`sbt assembly`则创建Uberjar。 5. **任务和设置**:SBT中的任务是构建过程中的可执行操作,如`clean`清理编译产生的临时文件,`run`运行应用程序。设置则定义项目属性,...

    sbt-launch.jar

    例如,如果你在`~/.sbt/1.0/global.sbt`或项目根目录下的`build.properties`中写入`sbt.version=0.13.9`,SBT启动时会自动下载并使用对应的sbt-launch.jar。 总的来说,sbt-launch.jar在SBT生态系统中扮演着至关...

    sbt-0.13.17

    6. **打包项目**:使用`sbt package`命令可以生成JAR或WAR文件,`sbt assembly`则用于创建可部署的fat JAR。 7. **发布项目**:如果你的项目准备就绪,可以通过`sbt publish`将它发布到私有或公共仓库供他人使用。 ...

    SBT 基础

    SBT(Simple Build Tool)是一个现代的构建工具,它主要用于Scala项目的构建管理,但同时它也是一个通用的构建工具,可以用于构建Java等其他语言的项目。SBT是用Scala语言编写的,它利用了Scala强大的类型系统和函数...

    sbt 1.0.3.zip

    SBT,全称为Scala Build Tool,是用于构建Scala和Java项目的工具,同样也适用于管理Java项目。它基于Apache Ivy库,提供了高效的依赖管理和构建流程。Sbt 1.0.3是该工具的一个版本,发布于2017年,为开发者提供了...

    sbt-0.13.16.tgz 学习spark用

    标题中的"sbt-0.13.16.tgz"指的是Scala Build Tool(SBT)的一个版本,具体为0.13.16。SBT是Scala编程语言的一个项目管理和构建工具,它使得创建、构建和管理Scala及Java项目变得更加便捷。在Spark开发中,SBT常被...

    sbt-launch.jar 1.2.8

    【标题】"sbt-launch.jar 1.2.8" 是 Scala 项目构建工具 SBT (Scala Build Tool) 的一个核心组件,它包含了运行 SBT 的启动器。这个特定的版本,1.2.8,是 SBT 发布的一个稳定版本,用于管理和构建基于 Scala 的应用...

    sbt-1.5.5.tgz

    SBT(Simple Build Tool)是Scala项目的主要构建工具,它为Scala和Java应用程序提供了一种高效、灵活的构建方式。标题中的"sbt-1.5.5.tgz"表明这是一个包含SBT版本1.5.5的压缩包,通常这种压缩包会包括SBT的可执行...

    sbt-1.3.13.zip

    `sbt-1.3.13.zip` 是Scala开发环境中不可或缺的构建工具——Scala Build Tool(SBT)的1.3.13版本的压缩包。SBT是基于Java平台的一个开源构建工具,它为Scala和Java项目提供了高度可配置的、功能强大的构建机制。这...

    ActionScript flashbang 游戏框架的 Java 端口,用于 PlayN 项目

    build.sbt build.xml etc/SOURCE_HEADER etc/bootstrap.xml pom.xml project/plugins.sbt src/main/java/flashbang.gwt.xml src/main/java/flashbang/AppMode.java src/main/java/flashbang/Flashbang.java src/main...

    sbt-launch

    为了提高SBT的启动速度,可以利用`sbt-native-packager`插件创建本地化启动脚本,或使用`sbt-assembly`将整个项目打包为一个独立的JAR,减少每次构建时的依赖解析时间。 总结,`sbt-launch`在Windows环境中扮演着...

    sbt编译工具

    **sbt(Scala Build Tool)** 是一个强大的构建工具,主要应用于 Scala 和 Java 项目,由 Jason Swartz 创建并维护。它以其灵活性、高效性和与 Scala 的深度集成而备受开发者青睐。sbt 使用 Scala 语言编写,这使得...

    sbt资源包,全平台版本sbt-platform

    Sbt(Simple Build Tool)是Scala项目的主要构建工具,它以其高效、灵活和强大的特性深受开发者喜爱。在 Scala 开发环境中,Sbt 起到了核心作用,它负责编译、测试、打包以及发布 Scala 应用程序。"sbt资源包,全...

    subutai:使用SBT进行实验

    将以下行添加到build.sbt中: ThisBuild / scalaVersion := "2.13.2" 创建具有以下内容的project/build.properties : sbt.version = 1.3.12 。 如果更改,请使用sbt> reboot 。 如果需要,添加.gitignore和LICENSE ...

    sbt-0.13.15.tgz

    6. **构建发布**:使用`sbt assembly`或类似命令将项目打包为可执行的JAR文件,便于部署。 在压缩包文件名称列表中的“sbt”,可能是解压后的sbt可执行文件或者是包含sbt相关配置和脚本的目录。解压后,用户通常会...

Global site tag (gtag.js) - Google Analytics