SBT管理java项目

sbt版本:0.13.1
sbt专注于构建scala应用,很多教程也都是关于scala项目的,如果使用它来构建java项目,就需要一些额外的设置,比如:

  • 项目初始化
  • 导入eclipse/idea
  • 使用sbt run运行项目
  • jvm参数设置
  • 构建可执行jar包

java项目结构:
工程目录结构

两个主要配置文件 build.sbtproject/plugins.sbt

build.sbt


import AssemblyKeys._

assemblySettings

organization := "enyo"

name := "RecsysAudio"

version := "0.1.0-SNAPSHOT"

scalaVersion := "2.10.3"

autoScalaLibrary := false

crossScalaVersions := Seq("2.10.0", "2.10.1", "2.10.2", "2.10.3")

fork := true

EclipseKeys.projectFlavor := EclipseProjectFlavor.Java

mainClass in (Compile, run) := Some( "recsys.RecsysMain")

javacOptions ++= Seq("-encoding", "UTF-8")

javaOptions in run += "-Xmx4G"

resolvers += "Typesafe Repository" at "http://repo.typesafe.com/typesafe/releases/"

libraryDependencies += "org.slf4j" % "slf4j-api" % "1.7.5"

libraryDependencies ++= Seq(
                            "ch.qos.logback" % "logback-core" % "1.0.13",
                            "ch.qos.logback" % "logback-classic" % "1.0.13"
                            )

project/plugins.sbt


addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "2.4.0")

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

sbt常用命令

 
sbt clean compile  // 先清除target目录下的所有的文件,再编译
sbt eclipse         // 将当前的sbt项目转为eclipse项目
sbt clean assembly   // 打可执行jar包
sbt update  // 更新项目依赖
sbt run   // 运行当前项目(需要设置:mainClass)
sbt test  // 运行测试用例

你可能感兴趣的:(sbt,可执行jar包)