【转帖】
原文地址:https://github.com/CSUG/real_world_scala/blob/master/02_sbt.markdown
尊重版权,尊重他人劳动成果,转帖请注明原文地址
使用SBT构建Scala应用SBT简介
SBT是Simple Build Tool的简称,如果读者使用过Maven,那么可以简单将SBT看做是Scala世界的Maven,虽然二者各有优劣,但完成的工作基本是类似的。
虽然Maven同样可以管理Scala项目的依赖并进行构建, 但SBT的某些特性却让人如此着迷,比如:
等等这些,都是SBT得以在Scala的世界里广受欢迎的印记。
SBT的发展可以分为两个阶段, 即SBT_0.7.x时代以及SBT_0.10.x以后的时代。
目前来讲, SBT_0.7.x已经很少使用, 大部分公司和项目都已经迁移到0.10.x以后的版本上来,最新的是0.12版本。 0.10.x之后的版本build定义采用了新的Settings系统,与最初0.7.x版本采用纯Scala代码来定义build文件大相径庭,虽然笔者在迁移之前很抵触(因为0.7.x中采用Scala定义build文件的做法可以体现很好的统一性),但还是升级并接纳了0.10.x以后的版本,并且也逐渐意识到, 虽然新的版本初看起来很复杂,但一旦了解了其设计和实现的哲学跟思路,就会明白这种设计可以更便捷的定义build文件。而且可选的build文件方式也同样运行采用Scala代码来定义,即并未放弃统一性的思想。
以上是SBT的简单介绍,如果读者已经急于开始我们的SBT之旅,,那么让我们先从SBT的安装和配置开始吧!
SBT安装和配置
SBT的安装和配置可以采用两种方式,一种是所有平台都通用的安装配置方式,另一种是跟平台相关的安装和配置方式,下面我们分别对两种方式进行详细介绍。
所有平台通用的安装配置方式
所有平台通用的安装和配置方式只需要两步:
下载sbt boot launcher本书采用最新的sbt0.12,其下载地址为;创建sbt启动脚本(启动脚本是平台相关的)如果是Linux/Unit系统,创建名称为sbt的脚本,并赋予其执行权限,并将其加到PATH路径中; sbt脚本内容类似于java -Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=384M -jar `dirname $0`/sbt-launch.jar “$@”, 可以根据情况调整合适的java进程启动参数;如果是Windows系统,则创建sbt.bat命令行脚本,同样将其添加到PATH路径中。 脚本内容类似于set SCRIPT_DIR=%~dp0 \n java -Xmx512M -jar “%SCRIPT_DIR%sbt-launch.jar” %*
以上两步即可完成sbt的安装和配置。
平台相关的安装配置方式
笔者使用的是Mac系统,安装sbt只需要执行brew install sbt即可(因为我已经安装有homebrew这个包管理器),使用macport同样可以很简单的安装sbt -sudo port install sbt;
如果读者使用的是Linux系统,那么这些系统通常都会有相应的包管理器可用,比如yum或者apt,安装和配置sbt也同样轻松,只要简单的运行yum install sbt或者apt-get install sbt命令就能搞定(当然,通常需要先将有sbt的repository添加到包管理器的列表中);
Windows的用户也可以偷懒,只要下载MSI文件直接安装,MSI文件下载地址为。
以上方式基本上囊括三大主流操作系统特定的安装和配置方式,其它特殊情况读者可以酌情处理 ^_^
SBT基础篇
既然我们已经安装和配置好了SBT,那就让我们先尝试构建一个简单的Scala项目吧!
Hello, SBT
在SBT的眼里, 一个最简单的Scala项目可以极简到项目目录下只有一个.scala文件,比如HelloWorld.scala:
今天又是美好的一天,我要展示出我优秀的一面。不必一味讨好别人