scala 手动建立一个干净的sbt 程序

来源:互联网 发布:mac安装win10怎么切换 编辑:程序博客网 时间:2024/05/24 01:44

我们可以使用intellij idea 帮我们建立sbt 程序,但是会产生很多无用的文件,可以手动的建立一个sbt 程序:

假设你有一个sbt工程叫GBQ5,我们可以建立一个下面的目录结构:

1. build.sbt 主要配置自己的依赖包,包的依赖分为托管和非托管,其中: unmanagedBase := baseDirectory.value / "custom_lib", 配置了非托管的包的路径....

import _root_.sbt.Keys._
import _root_.sbt.Resolver
import _root_.sbt._
import _root_.sbtassembly.Plugin.AssemblyKeys
import AssemblyKeys._
import _root_.sbtassembly.Plugin.AssemblyKeys._
import _root_.sbtassembly.Plugin.MergeStrategy
import _root_.sbtassembly.Plugin._

assemblySettings

mergeStrategy in assembly <<= (mergeStrategy in assembly) { mergeStrategy =>
{
  case entry => {
    val strategy = mergeStrategy(entry)
    if (strategy == MergeStrategy.deduplicate) MergeStrategy.first
    else strategy
  }
}
}

name := "GBQ5"

version := "1.0"

scalaVersion := "2.10.4"

libraryDependencies += "org.apache.spark" %% "spark-core" % "1.4.1"

libraryDependencies += "org.apache.spark" % "spark-sql_2.10" % "1.4.1"

resolvers += "Job Server Bintray" at "https://dl.bintray.com/spark-jobserver/maven"

libraryDependencies += "spark.jobserver" %% "job-server-api" % "0.6.0" % "provided"

libraryDependencies += "spark.jobserver" %% "job-server-extras" % "0.6.0" % "provided"

unmanagedBase := baseDirectory.value / "custom_lib"

resolvers += Resolver.url("artifactory", url("http://scalasbt.artifactoryonline.com/scalasbt/sbt-plugin-releases"))(Resolver.ivyStylePatterns)

 

2. custom_lib

   存放非托管的jar包, 在进行打包的时候,把非托管的jar包打到自己的包中

 

3. plugins.sbt

resolvers += Resolver.url("artifactory", url("http://scalasbt.artifactoryonline.com/scalasbt/sbt-plugin-releases"))(Resolver.ivyStylePatterns)

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

 

4.scala/main/src

   在这个目录里写自己的程序即可

程序写完后在GBQ5目录执行sbt assembly 即可打包程序。

 

 

 

   

0 0
原创粉丝点击