Scala学习系列(二)——环境安装配置

Scala下载地址:https://www.scala-lang.org/download/

一、安装JDK
首先,因为Scala是运行在JVM平台上的,所以安装Scala之前要安装JDK
二、二进制安装方式
我们可以直接用二进制安装Scala 还是下载网址

Windows安装Scala编译器
访问Scala官网http://www.scala-lang.org/下载Scala编译器安装包,下载对应版本的.msi文件后点击下一步就可以了
Linux安装Scala编译器
tar.gz的版本 然后解压Scala到指定目录
tar -zxvf scala-2.13.1.tar.gz -C /usr/java
配置环境变量,将scala加入到PATH中
vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.8
export PATH=$PATH:$JAVA_HOME/bin:/usr/java/scala-2.13.1/bin
使用ScalaREPL
Scala提供了REPL 交互式解释环境
在我们安装好scala 可以直接在命令行输入scala进入

三、通过Sbt安装Scala
官网推荐通过Sbt安装Scala ,Scala's build tool
1、使用IDEA安装Scala
安装
- 确保安装了JDK1.8
- 下载并安装IDEA https://www.jetbrains.com/idea/download/ (公众号回复“激活” 获取IDEA激活码)

- 给IDEA安装Scala插件 Settings/Preferences

创建
打开IntelliJ并单击File => New => Project

在左侧面板上,选择Scala。在右侧面板上,选择“ IDEA”。

将该项目命名为scala-demo
假设这是您第一次使用IntelliJ创建Scala项目,则需要安装Scala SDK。在Scala SDK字段的右侧,单击“ 创建”按钮
选择版本号,然后单击“ 下载”。这可能需要几分钟,但是以后就不用下载了
创建SDK后,您将返回“新建项目”窗口,点击完成
编写代码
在左侧的Project窗格中,右键单击src并选择 New => Scala class

命名为Hello 类型为Object

编写代码

运行
直接点击剪头或者右键选择Run'Hello'

成功!

测试
在左侧的项目窗格中,右键单击 src并选择New => Scala Worksheet

点击运行 成功!

2、使用IDEA SBT开发Scala
上面我们通过Idea安装并运行了Scala的程序 我们已经可以在IDEA中开发Scala了!我们平时的练习与测试完全可以进行了
但是在构建工程时,需要对包版本进行管理,我们最好在IDEA中构建一个标准的Sbt项目
创建
请打开IntelliJ并选择“ Create New Project”
在左侧面板上,选择Scala,在右侧面板上,选择sbt
点击下一步
将项目命名为“ SbtExampleProject”

确保JDK版本为1.8,sbt版本至少为0.13.13

了解目录结构
sbt为我们创建了目录结构
这些都很有用 都是sbt的基本结构
build.properties里记录了sbt.version
build.sbt里记录了 项目名 scalaVersion 等信息 以后我们添加依赖也是在这里
未来我们会仔细介绍

如果项目构建不成功 注意查看本机sbt scala版本是否能对应
报错idea 使用sbt构建工程时错误unresolved dependency: org.scala-sbt#sbt;0.13.8: not found
1.出现场景:在idea中使用sbt构建工程时,使用默认的sbt版本为0.13.8,而我本地安装的sbt版本是0.13.7,所以在仓库中找不到对应的0.13.8包
2.解决:在project中的build.properties中把版本号改成本地安装的版本即可,然后在idea工具栏/Build/make project重新重构一下项目
开发代码
在左侧的“ 项目”面板上,展开
SbtExampleProject=>src=>main右键单击
scala并选择New => Package为软件包命名,
example然后单击“ 确定”。右键单击该包,
example然后选择New => Scala class命名为 Hello 选择Object
运行成功

3、使用SCALATEST测试Scala
在build.sbt中引入依赖
libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.8" % "test"
等待依赖下载完成
在src=> test 中选择New => Scala class
命名为CubeCalculatorTest
import org.scalatest.FunSuite
class CubeCalculatorTest extends FunSuite {
test("CubeCalculator.cube") {
assert(CubeCalculator.cube(3) === 27)
}
}
运行
四、通过命令行使用Sbt构建Scala
首先根据不同的系统安装Sbt
Windows下载地址为https://www.scala-sbt.org/1.x/docs/Installing-sbt-on-Windows.html
创建项目
打开cmd命令行
cd 到一个空文件夹
运行以下命令sbt new scala/hello-world.g8。这将从GitHub中提取“ hello-world”模板。它还将创建一个target文件夹
出现提示时,命名应用程序hello-world。这将创建一个名为“ hello-world”的项目
查看一下生成的目录结构
- hello-world
- project (sbt uses this to install and manage plugins and dependencies)
- build.properties
- src
- main
- scala (All of your scala code goes here)
- Main.scala (Entry point of program) <-- this is all we need for now
- build.sbt (sbt's build definition file)
随后我们进入项目中 新建文件 输入sbt指令 进入后 run 执行项目
五、Scala Java同时运行
sbt是scala专属的 所以如果我们有scala和java代码同时执行的情况时
需要新建一个maven工程
pom文件写法如下:
<dependencies>
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>${scala.version}</version>
<!--<scope>provided</scope>-->
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<!--maven 编译 -->
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<!-- scala maven 混合开发-->
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<version>3.2.2</version>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
</build>
随后我们新建一个scala文件 然后maven打包

我们在target下边发现

可以通过 java -jar Hello.jar或者 scala Hello.jar 运行
至此我们Scala环境已经安装完成,推荐大家还是通过IDEA进行开发工作,不过原理也要理解,特别是部署上线时虽然也可以选择打成jar包 有的时候scala环境还是需要的 下一章 我们正式进入到Scala语法的学习中!
大数据流动 专注于大数据实时计算,数据治理,数据可视化等技术分享与实践。
请在后台回复关键字下载相关资料。相关学习交流群已经成立,欢迎加入~

Scala学习系列(二)——环境安装配置的更多相关文章
- appium学习笔记(环境安装配置,设备启动)
Android SDK下载及配置 下载地址 下载后解压缩,打开SDK Manager.exe,下载适当版本的Android包 配置环境变量:目录下的tools路径(含uiautomatorview ...
- Caffe学习系列(1):安装配置ubuntu14.04+cuda7.5+caffe+cudnn
一.版本 linux系统:Ubuntu 14.04 (64位) 显卡:Nvidia K20c cuda: cuda_7.5.18_linux.run cudnn: cudnn-7.0-linux-x6 ...
- scala学习系列二
一 scala语言开发注意事项: 1 Scala程序的执行入口是main()函数 2 Scala语言严格区分大小写. 3 Scala方法由一条条语句构成,每个语句后不需要分号(Scala语言会在每行后 ...
- Hadoop 系列(二)安装配置
Hadoop 系列(二)安装配置 Hadoop 官网:http://hadoop.apache.or 一.Hadoop 安装 1.1 Hadoop 依赖的组件 JDK :从 Oracle 官网下载,设 ...
- 源码学习系列之SpringBoot自动配置(篇二)
源码学习系列之SpringBoot自动配置(篇二)之HttpEncodingAutoConfiguration 源码分析 继上一篇博客源码学习系列之SpringBoot自动配置(篇一)之后,本博客继续 ...
- PHP学习笔记----IIS7下安装配置php环境
原文:PHP学习笔记----IIS7下安装配置php环境 Php如何安装 Php版本的选择 Php在windows下的(php5.4.7)有两种版本: VC9 x86 Non Thread Safe ...
- .net reactor 学习系列(二)---.net reactor界面各功能说明
原文:.net reactor 学习系列(二)---.net reactor界面各功能说明 安装了.net reactor之后,可以在安装目录下找到帮助文档REACTOR_HELP.c ...
- MyBatis学习系列二——增删改查
目录 MyBatis学习系列一之环境搭建 MyBatis学习系列二——增删改查 MyBatis学习系列三——结合Spring 数据库的经典操作:增删改查. 在这一章我们主要说明一下简单的查询和增删改, ...
- RabbitMQ学习系列二-C#代码发送消息
RabbitMQ学习系列二:.net 环境下 C#代码使用 RabbitMQ 消息队列 http://www.80iter.com/blog/1437455520862503 上一篇已经讲了Rabbi ...
- java基础学习总结——java环境变量配置(转)
只为成功找方法,不为失败找借口! 永不放弃,一切皆有可能!!! java基础学习总结——java环境变量配置 前言 学习java的第一步就要搭建java的学习环境,首先是要安装 JDK,JDK安装好之 ...
随机推荐
- parallel-comparator-200
直接上来就是c代码,这种题还是第一次做,直接写代码逆向回去就行了 但是奈何水平太低写不回去... 分析 需要下面的两个字符串相等才能得到正确的程序,若要相等就只能让result等于0 那就意味着亦或的 ...
- 2022.7.16 lhm_ 讲课纪要
前言 啊好的,这节课又是对牛弹琴课...... 虽说题给的不难,以黄绿为主,,穿插了一个蓝一个紫,但是给一群不知道什么是树什么是DAG的人讲树形dp和dag上dp有点.... 顺便讲了讲拓扑排序和记忆 ...
- canvas实现动态替换人物的背景颜色
起因 今天遇见一个特别有意思的小功能. 就是更换人物图像的背景颜色. 大致操作步骤就是:点击人物-实现背景颜色发生变化 将图片绘画到canvas画布上 我们需要将图片绘制到canvas画布上. 这样做 ...
- Sealos 云操作系统私有化部署教程
Sealos 私有云已经正式发布了,它为企业用云提供了一种革命性的新方案.Sealos 的核心优势在于,它允许企业在自己的机房中一键构建一个功能与 Sealos 公有云完全相同的私有云.这意味着企业可 ...
- IDEA安装与配置教程
一.下载并安装IDEA 1.下载 1.官网: 下载 IntelliJ IDEA (这里以Windows系统为例,其他系统类似) 2.安装 1.下载完成后,直接点击安装包安装,即可. 2.开始安装,然后 ...
- 从0到1,手把手带你开发截图工具ScreenCap------003实现最小化程序到托盘运行
ScreenCap---Version:003 说明 上一篇:实现默认位置设置 为了方便截图干净,实现最小化程序到托盘运行,简洁,勿扰 实现最小化程序到托盘运行 实现托盘菜单功能 实现回显主窗体 实现 ...
- 吉特日化MES & 标签的设计与选择
吉特日化MES & 标签的设计与选择:如今条码和二维码在生活中随处可见,作为一种能够快速精准读取识别的手段,条码和二维码在生产车间也应用的较为广泛.如果说条码和二维码哪一种更好,我更加倾向于使 ...
- [USACO2007OPEN G]Cheapest Palindrome
题目描述 Keeping track of all the cows can be a tricky task so Farmer John has installed a system to aut ...
- 一招MAX降低10倍,现在它是我的了
一.背景 性能优化是一场永无止境的旅程. 到家门店系统,作为到家核心基础服务之一,门店C端接口有着调用量高,性能要求高的特点. C端服务经过演进,核心接口先查询本地缓存,如果本地缓存没有命中,再查询R ...
- Aop限流实现解决方案
01.限流 在业务场景中,为了限制某些业务的并发,造成接口的压力,需要增加限流功能. 02.限流的成熟解决方案 guava (漏斗算法 + 令牌算法) (单机限流) redis + lua + ip ...