第二章:开发环境搭建
说实话,每次带新人入门 Scala,我最怕的就是环境搭建这一步。明明代码逻辑很简单,但光是把 JDK、IDEA、SBT 这些玩意儿配好,就能卡住不少人。我自己当年也踩过不少坑,今天就把这些经验一次性说清楚。
2.1 JDK 安装与配置
Scala 跑在 JVM 上,所以 JDK 是必须的。我个人习惯用 JDK 8 或 JDK 11,这两个版本最稳定,跟 Scala 的兼容性也最好。
下载与安装
- 去 Oracle 官网或者 AdoptOpenJDK 下载对应系统的安装包
- Windows 直接双击安装,Mac 用 brew 也行:
brew install openjdk@11 - Linux 用户用包管理器:
sudo apt install openjdk-11-jdk
配置环境变量
嗯,这里要注意。很多新手配完 JDK 发现 java -version 能跑,但 javac 找不到。说白了就是 PATH 没配全。
# Windows 用户添加系统变量
JAVA_HOME = C:\Program Files\Java\jdk-11.0.12
PATH = %JAVA_HOME%\bin
# Mac/Linux 用户编辑 ~/.bashrc 或 ~/.zshrc
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
配完之后,打开终端验证一下:
java -version
javac -version
2.2 IntelliJ IDEA 安装与 Scala 插件
编辑器这块,我强烈推荐 IntelliJ IDEA。Eclipse 也能用,但 IDEA 对 Scala 的支持好太多了,尤其是自动补全和类型推断提示,用起来很舒服。
安装步骤
- 去 JetBrains 官网下载 Community 版(免费)或 Ultimate 版(付费)
- 安装完成后启动 IDEA,在欢迎界面点击「Plugins」
- 搜索「Scala」,找到官方插件点击安装
- 重启 IDEA 使插件生效
你想想看,如果没有插件,IDEA 连 Scala 文件都识别不了,更别说语法高亮了。装好插件之后,新建项目时就能看到 Scala 选项了。
2.3 SBT 构建工具入门
SBT 是 Scala 的官方构建工具,类似于 Java 的 Maven 或 Gradle。我第一次用 SBT 时觉得它好慢,后来才发现是没配好镜像源。
安装 SBT
- Mac:
brew install sbt - Windows:去 sbt 官网下载 msi 安装包
- Linux:
echo "deb https://repo.scala-sbt.org/scalasbt/debian all main" | sudo tee /etc/apt/sources.list.d/sbt.list
配置国内镜像(重要)
为什么?因为 SBT 默认从 Maven 中央仓库下载依赖,那个速度...你懂的。我曾经等一个项目编译等了半小时,后来换成阿里云镜像,几分钟就搞定了。
在 ~/.sbt/repositories 文件中添加:
[repositories]
local
aliyun: https://maven.aliyun.com/repository/public
central: https://repo1.maven.org/maven2
项目结构
一个典型的 SBT 项目长这样:
my-scala-project/
├── build.sbt # 构建配置文件
├── project/
│ └── build.properties # SBT 版本配置
└── src/
├── main/
│ └── scala/ # 源代码
└── test/
└── scala/ # 测试代码
build.sbt 示例
name := "my-first-scala-project"
version := "1.0"
scalaVersion := "2.13.10"
libraryDependencies ++= Seq(
"org.apache.spark" %% "spark-core" % "3.3.0",
"org.apache.spark" %% "spark-sql" % "3.3.0"
)
这里 %% 的意思是自动匹配 Scala 版本号。比如你写 spark-core %% 3.3.0,SBT 会自动去找 spark-core_2.13-3.3.0.jar。这个设计很贴心,省得你手动拼版本号。
2.4 第一个 Scala 程序
环境都搭好了,我们来写个 Hello World 试试手。
用 IDEA 创建项目
- File → New → Project → Scala → sbt
- 填写项目名和路径,选择 JDK 版本
- 等待 IDEA 下载 SBT 和依赖(第一次会比较慢)
编写代码
在 src/main/scala 下新建一个 Hello.scala 文件:
object Hello {
def main(args: Array[String]): Unit = {
println("Hello, Scala!")
println("欢迎来到大数据开发的世界")
}
}
这里有个细节:Scala 的 main 方法必须写在 object 里,不能写在 class 里。为什么?因为 Scala 没有静态方法,object 里的方法相当于 Java 的静态方法。
运行程序
在 IDEA 里直接点击代码行号旁边的绿色三角形,或者用 SBT 命令:
sbt run
如果一切顺利,你会看到控制台输出:
Hello, Scala!
欢迎来到大数据开发的世界
object 的名字跟文件名不一致。Scala 要求文件名必须跟 object 的名字完全一样,大小写也要匹配。
2.5 总结
好了,环境搭建这块就讲完了。说白了就是三步:装 JDK、装 IDEA 加插件、配 SBT。每一步都有坑,但按我上面说的来,基本不会出问题。
你想想看,环境搭好了,后面学 Scala 语法、写 Spark 作业才有基础。下一章我们开始正式学 Scala 的基础语法,到时候我会用实际的大数据场景来举例,保证你学完就能用。
如果搭建过程中遇到问题,别慌。先检查环境变量配没配对,再检查 SBT 镜像源配没配。这两个地方最容易出问题。
公众号:蓝海资料掘金营,微信deep3321