手把手用 IntelliJ IDEA 和 SBT 创建 scala 项目
时间:2022-05-07
本文章向大家介绍手把手用 IntelliJ IDEA 和 SBT 创建 scala 项目,主要内容包括1. 安装 sbt、2. 下载 jetbrains 的 community 版本, 安装 Scala plugin、3. 创建 scala project、4. 创建 scala worksheet、5. 创建 scala class、6. 打开 SBT project 的方法、7. 同步 SBT and IntelliJ IDEA projects、8. 可以用 terminal 执行 sbt 命令、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
1. 安装 sbt
打开 terminal,检查 java 版本,安装 sbt: http://www.scala-sbt.org/release/docs/Installing-sbt-on-Mac.html
$ java -version
$ brew install sbt
$ sbt about
Getting org.scala-sbt sbt 0.13.16
2. 下载 jetbrains 的 community 版本, 安装 Scala plugin
打开 dmg 文件安装: https://www.jetbrains.com/idea/download/#section=mac
点击左下角:skip all
在 configure 下拉选择 plugins:
左下角选择 install jetbrains plugin:
搜索框搜 scala,点击 install,安装后这个绿色键会变成 restart,点击:
选择 restart:
3. 创建 scala project
选择 create new project:
选择 scala - sbt:
为项目命名,确认 JDK 为配置的版本:
4. 创建 scala worksheet
在项目下,如图所示创建 scala worksheet:
可以输入 hello world :
5. 创建 scala class
新建 scala class 的方法:
命名:
在新建的 class 里面写上下面的代码:
package ex
object example extends App {
println("Hello World")
}
运行,可以看到输出结果:
6. 打开 SBT project 的方法
在 Intelli J 的导航 file 处先关闭当前项目:
选择 import:
选择 build.sbt:
7. 同步 SBT and IntelliJ IDEA projects
IntelliJ IDEA SBT 支持项目同步,当 scala 版本更新或者增加 library 时,项目可以自动更新。
打开 build 文件:
当前 scalavesion 版本是 2.12,将相应代码加进去:
libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.0" % "test"
其它版本可以查看:http://www.scalatest.org/older_releases
8. 可以用 terminal 执行 sbt 命令
打开 intellij 左下角的 Terminal:
输入
$ sbt
>compile
- 使用泛型委托,构筑最快的通用属性访问器
- 记录容易忘记的方法
- 无需重新编译代码,在线修改表单
- 使用反射+缓存+委托,实现一个不同对象之间同名同类型属性值的快速拷贝
- 结构变量作为方法的参数调用,在方法内部使用的“坑”你遇到过吗?
- 使用表达式树,让访问者直接执行“角色”对象的方法
- 【更正】“给自定义控件(Web Control)添加事件的几种方法”有一个不太准确的地方。
- 在数据库上实现类似铁路售票锁票功能
- Android代码判断手机是否已root方法学习
- 实体类的枚举属性--原来支持枚举类型这么简单,没有EF5.0也可以
- Android中Context用法详解学习
- 【自然框架】之 “表单控件”与“实体类”
- Android数据存储实现的5大方式
- Android实现图片异步加载操作
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 深度学习之人脸识别模型--FaceNet
- Java常用的设计模式
- HW防守|应急溯源分析手册汇总篇
- Python进阶(一)
- Python版本的OpenCV安装
- CVE-2020-16875:Microsoft Exchange RCE复现
- 抢先学鸿蒙(HarmonyOS)2.0,你就是下一个大咖!
- Python高效编程之88条军规(2):你真的会格式化字符串吗?
- 搭建Typecho博客
- Python开发之Pandas的使用
- Python开发之numpy的使用
- flink sql实时计算当天pv写入mysql
- python爬取虎牙直播颜值区美女主播照片
- OpenCV图像处理笔记(三):霍夫变换、直方图、轮廓等综合应用
- 干货 | 高耦合场景下,Trip.com如何做支付设计与落地