windows下SBT的安装与使用

项目构建工具是项目开发中非常重要的一个部分,充分利用好它能够极大的提高项目开发的效率。在学习SCALA的过程中,我遇到了SBT(Simple Build Tool), SBT是SCALA 平台上标准的项目构建工具当然你要用它来构建其他语言的项目也是可以的。SBT 没有Maven那么多概念和条条框框,但又比IVY要更加灵活,可以认为是一个精简版的Maven吧。

1.下载 

https://www.scala-sbt.org/download.html
sbt-1.1.4.msi

2.安装

直接下一步下一步,安装,然后默认会添加到系统的环境变量中,如果没有自己可以添加

这里写图片描述

3.IDEA新建一个Sbt项目

这里写图片描述

这里写图片描述

新建的如图

这里写图片描述

然后我们新建一个测试类

package com.lcc

object hellow {
  def main(args: Array[String]) {
    println("Hello World!")
  }
}

这里写图片描述

运行测试

J:\00-IDEA\work\hellow>J:\Sbt\install\bin\sbt run
。。。。。
。。。。。。
          新目录           3    J:\Sbt\install\lib\local-preloaded\org.spire-math\jawn-parser_2.12\0.10.4\ivys\
100%        新文件                  2769        ivy.xml
100%        新文件                    32        ivy.xml.md5
100%        新文件                    40        ivy.xml.sha1
          新目录           3    J:\Sbt\install\lib\local-preloaded\org.spire-math\jawn-parser_2.12\0.10.4\jars\
100%        新文件                 74239        jawn-parser_2.12.jar
100%        新文件                    32        jawn-parser_2.12.jar.md5
100%        新文件                    40        jawn-parser_2.12.jar.sha1

------------------------------------------------------------------------------

                  总数        复制        跳过       不匹配        失败        其他
       目录:       355       355         0         0         0         0
       文件:       495       495         0         0         0         0
       字节:   48.70 m   48.70 m         0         0         0         0
       时间:   0:02:16   0:00:25                       0:00:00   0:01:50


       速度:             2019345 字节/秒。
       速度:             115.547 MB/分钟。
   结束时间: 201841710:08:58

Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0
[info] Loading settings from plugins.sbt ...
[info] Loading project definition from J:\00-IDEA\work\hellow\project
[info] Loading settings from build.sbt ...
[info] Set current project to hellow (in build file:/J:/00-IDEA/work/hellow/)
[info] Updating ...
[info] downloading https://repo1.maven.org/maven2/org/scala-lang/scala-library/2.12.5/scala-library-2.12.5.jar ...
[info] downloading https://repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.12.5/scala-compiler-2.12.5.jar ...
[info] downloading https://repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.12.5/scala-reflect-2.12.5.jar ...
[info]  [SUCCESSFUL ] org.scala-lang#scala-reflect;2.12.5!scala-reflect.jar (3224ms)
[info]  [SUCCESSFUL ] org.scala-lang#scala-compiler;2.12.5!scala-compiler.jar (5435ms)
[info]  [SUCCESSFUL ] org.scala-lang#scala-library;2.12.5!scala-library.jar (7481ms)
[info] Done updating.
[info] Compiling 1 Scala source to J:\00-IDEA\work\hellow\target\scala-2.12\classes ...
[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.5. Compiling...
[info]   Compilation completed in 53.072s.
[info] Done compiling.
[info] Packaging J:\00-IDEA\work\hellow\target\scala-2.12\hellow_2.12-0.1.jar ...
[info] Done packaging.
[info] Running com.lcc.hellow
Hello World!
[success] Total time: 103 s, completed 2018-4-17 10:11:22

最后成功打印Hello World!

4.详细说明

J:\00-IDEA\work\hellow>J:\Sbt\install\bin\sbt
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0
[info] Loading settings from plugins.sbt ...
[info] Loading project definition from J:\00-IDEA\work\hellow\project
[info] Loading settings from build.sbt ...
[info] Set current project to hellow (in build file:/J:/00-IDEA/work/hellow/)
[info] sbt server started at local:sbt-server-6b1e3137e27e680a0ddb

sbt:hellow> run
[info] Running com.lcc.hellow
Hello World!
[success] Total time: 6 s, completed 2018-4-17 10:29:02
sbt:hellow> 

在这个例子中,sbt 完全按照约定工作。sbt 将会自动找到以下内容:

项目根目录下的源文件
src/main/scala 或 src/main/java 中的源文件
src/test/scala 或 src/test/java 中的测试文件
src/main/resources 或 src/test/resources 中的数据文件
lib 中的 jar 文件
默认情况下,sbt 会用和启动自身相同版本的 Scala 来构建项目。 你可以通过执行 sbt run 来运行项目或者通过 sbt console 进入 Scala REPL。sbt console 已经帮你 设置好项目的 classpath,所以你可以根据项目的代码尝试实际的 Scala 示例。

3.1 构建定义

大多数项目需要一些手动设置。基本的构建设置都放在项目根目录的 build.sbt 文件里。 例如,如果你的项目放在 hello 下,在 hello/build.sbt 中可以这样写:

注意

设置 sbt 版本

你可以通过创建 hello/project/build.properties 文件强制指定一个版本的 sbt。在这个文件里,编写如下内容来强制使用 0.13.16:

lazy val root = (project in file("."))
  .settings(
    name := "hellow",
    version := "1.0",
    scalaVersion := "2.12.2"
  )

bt 在不同的 release 版本中是 99% 兼容的。但是在 project/build.properties 文件中设置 sbt 的版本仍然能避免一些潜在的混淆。

运行试试

sbt:hellow> run
[info] Running com.lcc.hellow
Hello World!
[success] Total time: 7 s, completed 2018-4-17 10:33:05
sbt:hellow> 

4.常用命令

其它常见命令

Tables Cool
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 这些文件中定义的内容)。在修改了构建定义文件之后需要
重新加载。

参考:https://www.scala-sbt.org/0.13/docs/zh-cn/Getting-Started.html

猜你喜欢

转载自blog.csdn.net/qq_21383435/article/details/79970850