- 1 开发工具 IDE
- 1.1 开发工具概述
- 1.2 IDE Eclipse
- 1.3 IDE IntelliJ IDEA
- 1.4 IDE Pycharm
- 1.5 IDE Visual Studio Code
- 本章参考
- 2 项目构建工具
- 2.1 概述
- 2.2 make/makefile
- 2.3 make 家族
- 2.4 Ant
- 2.5 Maven
- 2.6 Gradle
- 2.7 sbt
- 本章参考
- 3 包/模块管理
- 3.1 软件包管理 .package (按 OS 划分)
- 3.2 模块管理.module (按语言划分)
- 3.3 自定义安装程序
- 本章参考
- 4 软件制品仓库 Artifactory
- 4.1 仓库
- 4.2 仓库管理软件
- 本章参考
- 5 软件设计工具
- 模型和代码转化工程
- 6 其它工具技巧
- 远程终端 SSH
- 开发
- 源码、文档编辑
- 小技巧
- 本章参考
- 参考资料
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
2.7 sbt
sbt 依赖 Java。
sbt 核心概念 :
- Scala 基础。不可否认,熟悉 Scala 语法非常有帮助。 Programming in Scala ,Scala 的作者写的非常好的介绍。
- .sbt 构建定义
- 你的构建定义是一个大的 Setting 对象列表,sbt 使用 Setting 转换之后的键值对执行 task。
- 为了创建 Setting ,在一个 key 上调用其中的一个方法: := , += 或者 ++= 。
- 没有可变的状态,至于转换;例如,一个 Setting 将 sbt 的键值对集合转换成一个新的集合。不会就地改变任何代码。
- 每一个设置都有一个特定类型的值,由 key 决定。
- tasks 是特殊的设置,通过 key 产生 value 的计算在每次出发 task 的时候都会重新执行。Non-task 计算只会在构建定义的第一次加载时执行。
- Scopes
- 每一个 key 都可能有多个 value,按照 scope 划分。
- scope 会用三个轴:configuration,project,task。
- scope 允许你按项目、按 task、按 configuration 有不同的行为。
- 一个 configuration 是一种类型的构建,例如 Compile 或者 Test 。
- project 轴也支持
构建全局
scope。 - scopes 回滚或 代理 到更通用的 scope。
- 将大部分配置放在 build.sbt 中,但是用 .scala 构建定义文件定义类和更大的 task 实现。
- 构建定义是一个 sbt 项目,来自于项目目录。
- 插件 是对构建定义的扩展
- 通过在 addSbtPlugin 方法在 project/plugins.sbt 中添加插件。(不是在项目基目录下的 build.sbt 中)。
下载: https://www.scala-sbt.org/download.html
安装:windows 下点击 msi 文件按提示安装即可。
2.7.2 构建定义和配置文件
build.sbt
sbt 在检查项目和处理构建定义文件之后,形成一个 Project 定义。构建定义有二种风格。
- 多工程 .sbt 构建定义
- bare .sbt 构建定义 : 由一个 Setting[_] 表达式的列表组成,而不是定义 Project。
name := "hello"
version := "1.0"
scalaVersion := "2.12.3"
目录规约
和 maven 一样,sbt 有约定了一个通用的目录结构,使用约定的结构会使后面的工作简单很多。
src/
main/
resources/
<files to include in main jar here>
scala/
<main Scala sources>
java/
<main Java sources>
test/
resources
<files to include in test jar here>
scala/
<test Scala sources>
java/
<test Java sources>
配置文件(构建定义文件)为 xxx.sbt
2.7.3 构建命令
表格 24 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 这些文件中定义的内容)。在修改了构建定义文件之后需要重新加载。 |
备注:终端输入 sbt 进入 sbt 的交互环境。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论