本文主要介绍Scala开发demo之SBT包管理,官网对SBT的介绍就一句话,引用一下:
sbt is a build tool for Scala, Java, and more.
For general documentation, see http://www.scala-sbt.org/.
我对于SBT的理解可以从如下几个方面理解:
- 什么是SBT
- 为什么使用SBT
- SBT工程目录结构
- SBT常见的交互脚本
什么是SBT
SBT是一个现代构建工具,它是用Scala编写的,并且针对Scala也提供了很多方便快捷的功能,它也是一个通用的构建工具。
为什么使用SBT
- 强大的依赖管理功能
- Ivy用来管理依赖
- 一个只会根据需求更新的模型
- 所有任务的创建都支持Scala
- 可连续执行命令
- 可以在工程的上下文里启动REPL(在工程里面可以直接打开上下文,开启交互式)
SBT工程目录结构
HelloWorld (base directory)
|__ src (source code directory)
| |__ main
| | |__ scala (main scala sources)
| | |__ resources (files to include in main jar here)
| | |__ java (main java sources)
| |
| |__ test
| |__ scala (test scala sources)
| |__ resources (files to include in test jar here)
| |__ java (test java sources)
|
|__ project
| |__ build.properties (version definition for SBT)
| |__ plugins.sbt (Declaring plugins)
|
|__ build.sbt (sbt build definition files)
|
|__ lib (unmanaged dependencies)
|
|__ target (generated files, like compiled classes, packaged jars, managed files, caches, and documentation)
|
|__ .gitignore (Configuring version control)
————————————————
SBT常见的交互式脚本
这块官方的解释还是很清楚的,具体请参考:
https://www.scala-sbt.org/1.x/docs/Running.html
https://www.scala-sbt.org/1.x/docs/Command-Line-Reference.html
SBT包管理demo
基于SBT的demo将从以下几个方面介绍:
- 创建基于SBT的Scala项目
- “build.sbt“版本依赖介绍(SBT包依赖自动更新和手动更新配置)
- SBT本地源配置
- SBT编译、打包
创建基于SBT的Scala项目
打开IntelliJ Idea,选择“Create New Project”,如下图所示:
选择“Scala=>sbt“,选好之后选择”next“,如下图所示: