SBT(Simple Build Tool)简单构建工具,是scala的构建工具,与java的maven地位相同。其设计宗旨是让简单的项目可以简单的配置,而复杂的项目可以复杂的配置。。。!
使用过maven打包的同学,sbt会很容易上手使用。
一、下载
下载地址:
http://www.scala-sbt.org/download.html
目前版本:0.13.13
二、安装
windows下安装简单方便,直接下载MSI包双击安装配置;Linux下,解压缩ZIP包或TGZ包;
三、环境配置
windows下右键点击“我的电脑”右键“我的电脑”=〉”高级系统设置”,然后在系统属性界面中点击“环境变量”按钮;
添加如下变量:
SBT_HOME=C:\Program Files (x86)\sbt\
path=……;%SBT_HOME%\bin; (在原先的值的基础上追加)
Linux下的环境变量如同安装java类似,vim打开profile文件
vim /etc/profile
添加如下配置:
SBT_HOME=/usr/local/sbt/
PATH=.:%SBT_HOME%\bin
保存后更新环境变量值,使其生效;
source /etc/profile
四、添加仓库配置
在sbt安装目录中编辑:conf/sbtconfig.txt (Linux下请自已手动修改相应的目录结构)
# Set the java args to high
-Xmx512M
-XX:MaxPermSize=256m
-XX:ReservedCodeCacheSize=128m
# Set the extra SBT options
-Dsbt.log.format=true
-Dsbt.boot.directory=D:/sbtspace/boot/
-Dsbt.global.base=D:/sbtspace/.sbt
-Dsbt.ivy.home=D:/sbtspace/.ivy2
-Dsbt.repository.config=D:/sbtspace/sbt/conf/repo.properties
在D:/sbtspace/sbt/conf/目录下增加指向的资源配置文件 conf/repo.properties
[repositories]
local
Nexus osc : https://code.lds.org/nexus/content/groups/main-repo
Nexus osc thirdparty : https://code.lds.org/nexus/content/groups/plugin-repo/
typesafe: http://repo.typesafe.com/typesafe/ivy-releases/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext], bootOnly
typesafe2: http://repo.typesafe.com/typesafe/releases/
sbt-plugin: http://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/
sonatype: http://oss.sonatype.org/content/repositories/snapshots
uk_maven: http://uk.maven.org/maven2/
ibibli: http://mirrors.ibiblio.org/maven2/
repo2: http://repo2.maven.org/maven2/
五、测试运行,使用命令sbt sbt-version 或 sbt-version
sbt -version
#sbt sbt-version
/第一次执行时,会下载一些文件包,然后才能正常使用,要确保联网了,安装成功后显示如下/
六、sbt常用命令
**clean** 删除所有生成的文件 (在 target 目录下)。
**compile** 编译源文件(在 src/main/scala 和 src/main/java 目录下)。
**test** 编译和运行所有测试。
**console** 进入到一个包含所有编译的文件和所有依赖的 classpath 的 Scala 解析器。输入 :quit, Ctrl+D (Unix),或者 Ctrl+Z (Windows) 返回到 sbt。
**run** <参数>* 在和 sbt 所处的同一个虚拟机上执行项目的 main class。
**package** 将 src/main/resources 下的文件和 src/main/scala 以及 src/main/java 中编译出来的 class 文件打包成一个 jar 文件。
**help** <命令> 显示指定的命令的详细帮助信息。如果没有指定命令,会显示所有命令的简介。
**reload** 重新加载构建定义(build.sbt, project/*.scala, project/*.sbt 这些文件中定义的内容)。在修改了构建定义文件之后需要重新加载。