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

安装

创建

打开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重新重构一下项目

开发代码
  1. 在左侧的“ 项目”面板上,展开SbtExampleProject=> src =>main

  2. 右键单击scala并选择New => Package

  3. 为软件包命名,example然后单击“ 确定”

  4. 右键单击该包,example然后选择New => Scala class

  5. 命名为 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学习系列(二)——环境安装配置的更多相关文章

  1. appium学习笔记(环境安装配置,设备启动)

      Android SDK下载及配置 下载地址 下载后解压缩,打开SDK Manager.exe,下载适当版本的Android包 配置环境变量:目录下的tools路径(含uiautomatorview ...

  2. 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 ...

  3. scala学习系列二

    一 scala语言开发注意事项: 1 Scala程序的执行入口是main()函数 2 Scala语言严格区分大小写. 3 Scala方法由一条条语句构成,每个语句后不需要分号(Scala语言会在每行后 ...

  4. Hadoop 系列(二)安装配置

    Hadoop 系列(二)安装配置 Hadoop 官网:http://hadoop.apache.or 一.Hadoop 安装 1.1 Hadoop 依赖的组件 JDK :从 Oracle 官网下载,设 ...

  5. 源码学习系列之SpringBoot自动配置(篇二)

    源码学习系列之SpringBoot自动配置(篇二)之HttpEncodingAutoConfiguration 源码分析 继上一篇博客源码学习系列之SpringBoot自动配置(篇一)之后,本博客继续 ...

  6. PHP学习笔记----IIS7下安装配置php环境

    原文:PHP学习笔记----IIS7下安装配置php环境 Php如何安装 Php版本的选择 Php在windows下的(php5.4.7)有两种版本: VC9 x86 Non Thread Safe ...

  7. .net reactor 学习系列(二)---.net reactor界面各功能说明

    原文:.net reactor 学习系列(二)---.net reactor界面各功能说明         安装了.net reactor之后,可以在安装目录下找到帮助文档REACTOR_HELP.c ...

  8. MyBatis学习系列二——增删改查

    目录 MyBatis学习系列一之环境搭建 MyBatis学习系列二——增删改查 MyBatis学习系列三——结合Spring 数据库的经典操作:增删改查. 在这一章我们主要说明一下简单的查询和增删改, ...

  9. RabbitMQ学习系列二-C#代码发送消息

    RabbitMQ学习系列二:.net 环境下 C#代码使用 RabbitMQ 消息队列 http://www.80iter.com/blog/1437455520862503 上一篇已经讲了Rabbi ...

  10. java基础学习总结——java环境变量配置(转)

    只为成功找方法,不为失败找借口! 永不放弃,一切皆有可能!!! java基础学习总结——java环境变量配置 前言 学习java的第一步就要搭建java的学习环境,首先是要安装 JDK,JDK安装好之 ...

随机推荐

  1. Python 利用pandas和matplotlib绘制双柱状图

    在数据分析和可视化中,常用的一种图形类型是柱状图.柱状图能够清晰地展示不同分类变量的数值,并支持多组数据进行对比.本篇文章将介绍如何使用Python绘制双柱状图. 准备工作 在开始绘制柱状图之前,需要 ...

  2. 数据结构与算法 | 记忆化搜索(Memorize Search)

    在本系列的文章中已经写了二叉树(Binary Tree).深搜(DFS)与广搜(BFS).哈希表(Hash Table)等等,计划接下来要写的是动态规划(Dynamic Programming,DP) ...

  3. Vue 2.x源码学习:render方法、模板解析和依赖收集

    内容乃本人学习Vue2源码的一点笔记,若有错误还望指正. 源码版本: vue: 2.6 vue-loader: 13.x vue-template-compiler: 2.6 之前的相关学习笔记: 应 ...

  4. Educational Codeforces Round 103 (Rated for Div. 2) A~D题解

    写在前边 链接:Educational Codeforces Round 103 (Rated for Div. 2) A. K-divisible Sum 链接:A题链接 题目大意: 要求构造一个\ ...

  5. springboot集成mybatis-plus

    集成mybatis-plus 1.添加pom.xml <!--mp逆向工程 --> <dependency> <groupId>org.projectlombok& ...

  6. 【JSOI2008】火星人 (哈希+Splay)

    题目 这种含有修改操作的就难以用后缀数组实现了,求LCP这种区间相等的类型可以想到用hash判断,同时LCP的答案大小符合二分条件可以二分求出,如果只有修改可以用线段树维护,因为还有有插入操作所以想到 ...

  7. 为什么MySQL不建议使用delete删除数据?

    MySQL并不直接建议禁止使用DELETE语句删除数据,但是在某些情况下,使用DELETE可能会带来一些潜在的问题,特别是在大型数据库中. 下面我将详细介绍为什么在某些情况下MySQL不建议过度使用D ...

  8. 30分钟带你精通git使用

    非常抱歉,由于篇幅和时间限制,无法在30分钟内提供3000字左右的详细git使用介绍. Git是一个强大的版本控制系统,学习使用它需要一定的时间和实践.以下是一个简要的Git使用指南,帮助您入门并进行 ...

  9. MAUI+Masa Blazor APP 各大商店新手发布指南-华为篇

    目录 前言 准备材料 一.企业认证 二.审核资料 审核注意事项 总结 前言 AppGallery Connect(简称AGC)是华为应用市场推出的应用一站式服务平台,致力于为开发者提供应用创意.开发. ...

  10. Socket是什么/怎么理解Socket

    Socket 先来看一下百度百科对于Socket的介绍:套接字(socket)是一个抽象层,应用程序可以通过它发送或接收数据,可对其进行像对文件一样的打开.读写和关闭等操作.套接字允许应用程序将I/O ...