Scala安装和开发环境配置教程_scala安装及环境配置-程序员宅基地

技术标签: # Scala教程  scala  后端  开发语言  

开发环境:

  • jdk1.8+
  • IntelliJ IDEA 2018
  • Scala2.11.12

1、Scala语言概述

Scala语言概述:Scala语言是一门以Java虚拟机为运行环境,支持面向对象和函数式编程的静态语言,java语言是面向对象的,所以代码写起来就会相对比较模块儿,而函数式编程语言相对比较简洁。

发展过程:联邦理工学院的马丁·奥德斯基(Martin Odersky)于2001年开始设计Scala。马丁·奥德斯基是编译器及编程的狂热爱好者,长时间的编程之后,希望发明一种语言,能够让写程序这样的基础工作变得高效,简单。马丁·奥德斯基对JAVA这门便携式,运行在网络,且存在垃圾回收的语言产生了极大的兴趣,所以决定将函数式编程语言的特点融合到JAVA中,由此发明了两种语言(Pizza & Scala)

Scala语言官网:https://scala-lang.org/
在这里插入图片描述

补充:

  • 静态语言:静态语言(强类型语言)是编译时变量的数据类型就可以确定的语言,大多数静态语言要求在使用变量之前必须声明数据类型。比如Java、C、C++、C#等。
  • 动态语言:动态语言(弱类型语言)是运行时才确定数据类型的语言,变量在使用之前无需申明类型。比如Php、Asp、JavaScript、Python、Perl等等

1、Scala下载安装

Scala程序是运行在java虚拟机的,所以需要先安装jdk,注意jdk版本和scala的兼容,详情参考官方文档说明:https://docs.scala-lang.org/overviews/jdk-compatibility/overview.html
在这里插入图片描述

在Scala官网https://www.scala-lang.org/download/all.html,找到所有的版本下载页面:
在这里插入图片描述
3.x版本的下载链接被放在GitHub了,所以去GitHub下载
在这里插入图片描述
GitHub releases链接:https://github.com/lampepfl/dotty/releases/tag/3.1.2,下载scala3-3.1.2.tar.gz, scala3-3.1.2.zip都可以
在这里插入图片描述
Scala2.x版本可以直接在官网下载,不需要去GitHub下载,scala-2.11.12.msi的是安装版,scala-2.11.12.zip的是window绿色版
在这里插入图片描述

环境变量配置:新建一个SCALA_HOME变量
在这里插入图片描述
在path加上Scala环境变量 %SCALA_HOME%\bin
在这里插入图片描述
cmd窗口运行,输入scala
在这里插入图片描述

3、IDEA按照Scala插件

开发软件可以选择idea或者Eclipse都可以,本文以idea为示例,点击File->Setting,找到Plugins插件,搜索查找scala,点击安装Install
在这里插入图片描述
安装好之后,需要重启IDEA即可

4、创建Scala项目

选择File->New,选择New Project,选择Scala->IDEA,点击Next
在这里插入图片描述
因为jdk版本是1.8的,所以只能选择对应Scala Sdk版本2.x的
在这里插入图片描述
项目创建好之后,选择项目,右键->New->Scala class,新建一个类:

package com.scala.sample


object ScalaSample {
    

    def main(args: Array[String]): Unit = {
    
      println("Hello, Scala developer!")
    }
}

新建一个Application来运行Scala程序,选择main class
在这里插入图片描述

5、maven方式创建scala项目

当然,也可以新建一个maven项目来运行Scala,File->New->New Project,选择maven项目:
在这里插入图片描述
然后选择jdk和scala sdk即可,和上述一样,都是next一步地操作

然后,新建项目之后,File -> Project Structure,在Project Settings ->Libraries页面,点击+新增,选择Scala Sdk,找到之前下载的scala按照目录即可,然后会弹出,Choose Modules页面,选择刚才的项目即可
在这里插入图片描述
然后,这个maven项目也是支持scala了,同样右键->New->Scala Class,新建一个Scala类:
在这里插入图片描述

6、参考资料

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u014427391/article/details/124274161

智能推荐

matlab频率响应数据模型创建函数frd_matlab frd函数-程序员宅基地

文章浏览阅读3.3k次。使用方法:frd(resp,freq)其中resp是取样点,freq是频率函数方程,而frd以resp为freq的输入计算频率响应输出,并将该输出和输入resp对应的组合在一起,得到类型为frd的频率响应模型示例:在10到100之间取50个对数间距点,以y=0.05xexp(i2*x)为频率响应方程>> freq = logspace(1,2)>> resp = .05*(freq).*exp(i*2*freq)>> sys = frd(resp,freq)_matlab frd函数

人工智能内容生成元年—AI绘画原理解析_ai绘画技术原理-程序员宅基地

文章浏览阅读1.9w次,点赞39次,收藏183次。AIGC元年达到了学术-商业共振,本文介绍现有AI绘画、AI作画背后的相应基本原理、应用、以及论文参考文献。_ai绘画技术原理

Python爬虫网页解析神器Xpath快速入门教学!!!_python xpath 等于class的标签-程序员宅基地

文章浏览阅读2.2k次,点赞2次,收藏18次。文章目录1、Xpath介绍2、Xpath路径表达式3、结合实例讲解1、Xpath介绍 XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。2、Xpath路径表达式表达式描述nodename选取此节点的所有子节点。/从根节点选取。//从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。.选取当前节点…选取当前节点的父节点_python xpath 等于class的标签

快手上热门的小技巧,抖音快手直播5个上热门技巧_快手作品上了小热门后应该怎么做-程序员宅基地

文章浏览阅读2.1k次。2020下半年,随着直播带货行业发展势头越来越猛,各大电商平台纷纷涉足直播电商,普通人也跃跃欲试想要加入直播带货,那么普通人该如何选择直播平台呢,这要根据每个人的自身条件,不管做抖音还是快手,初始最重要的就是涨粉,今天小编分享的是新人做抖音快手直播如何快速涨粉的技巧。说到抖音快手涨粉,最暴力的莫过于上热门,一个视频上热门,涨粉可能就有好几万,比如之前有个直播睡觉,一夜爆红的主播,一天时间涨粉几百万,一晚收入70多万,不知道羡煞多少旁人。了解抖音快手上热门的机制是怎样的!抖音快手热门视频推荐机制,或者_快手作品上了小热门后应该怎么做

html输入哪种table好,如何将html转换为Handsontable哪个表还有html输入字段<table> </table>...-程序员宅基地

文章浏览阅读94次。我想显示一个动态表,其中包含来自自定义搜索的记录。现在我想将表格行设为内联可编辑行。我还需要对表进行分页,因为我需要在同一个表上显示30到40个表列(滚动列)。我使用Handsontable来实现这一点,如下图所示,但是,图像不会像我在表格单元格中输入一样。Scroll - HandsontableActionIDNameAddress1testtest2test2test23test3test3..._html版 handsontable

如何用python生成带图片名称和标签的.txt文件(代码)_将标注信息按指定格式制作图片对应的txt标签数据。-程序员宅基地

文章浏览阅读1.6w次,点赞23次,收藏147次。我们之前实现了如何用python批量修改图片的名称,不清楚的同学可以看一下这一篇:python批量修改一个文件夹下含多个文件夹中的所有图片名称(代码)接下来我们来看一下如何生成带图片名称和标签的txt文件因为我们在用caffe进行分类训练时,不管是生成imdb还是直接拿图片训练,都是需要标签文件的话不多说,直接上代码:#!/usr/bin/python# -*- co..._将标注信息按指定格式制作图片对应的txt标签数据。

随便推点

MindOpt——优化虚拟电厂智能调度问题(二)-程序员宅基地

文章浏览阅读449次。智慧楼宇调度,是在保证社区负荷需求的情况下,通过储能设备的指令控制,以**用电经济性、环保性和对电网稳定性**为综合目标的一种调度场景。_mindopt

Java调用c++的动态链接库正确方式,踩坑选手!_java调用c++动态库-程序员宅基地

文章浏览阅读2.6k次。前言,前几个月泛泛的看了一下c++的相关书籍。在看的过程中,做几个例子啥的没啥感觉。但是在整合起来的过程中还是发现了蛮多问题。_java调用c++动态库

NeuralCoref: python的共指消解工具,向代词指代的问题进军!_neuralcoref.neuralcoref.array-程序员宅基地

文章浏览阅读7.7k次,点赞3次,收藏17次。首先简要地说说共指消解是什么,有什么用处。假设机器正在阅读一个这样的文本: 克劳德·莫奈是印象派代表人物和创始人之一。 他最重要的风格是改变了阴影和轮廓线的画法。如果机器想要从这段话中了解到关于莫奈风格的知识,它首先必须知道,第二句话中的“他”指的就是莫奈。弄清代词的指代就是共指消解中的一个典型任务。NeuralCoref是使用时下先进神经网络技术完成指代消解任务的一个工具。_neuralcoref.neuralcoref.array

python多线程/进程问题:以iperf3为例与测试平台解析_iperf3多线程测试方法-程序员宅基地

文章浏览阅读4.9k次,点赞3次,收藏14次。在给一个项目写可视化的时候,项目需要用iperf3来进行网络测试。遇到了subprocess与多线程问题,后来解决_iperf3多线程测试方法

win10添加软件开机启动_bat设置指定软件开机启动-程序员宅基地

文章浏览阅读3.5k次。win10设置软件开机启动如果想要实现应用程序在所有的用户登录系统后都能自动启动,就把该应用程序的快捷方式放到“系统启动文件夹”里;C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp如果想要实现应用程序在所有的用户登录系统后都能自动启动,就把该应用程序的快捷方式放到“系统启动文件夹”里;C:\ProgramData\Micr..._bat设置指定软件开机启动

园区网络IP地址规划_园区私有地址-程序员宅基地

文章浏览阅读6.9k次,点赞11次,收藏89次。笔者当年先后考取了CCNA、CCNP、CCIE;经过这些年工作,接触从几万、几十万到上亿的项目都有;我简单总结了接触的大部分的项目,将园区网核心技术进行了归纳,如下:IP地址规划1.IP地址基础在IP网络中,通信节点需要有一个唯一的IP地址,IP地址用于IP报文的寻址以及标识一个节点;IP地址中最重要的是子网划分 VLSM,可参照NA。2.特殊IP地址a.受限广播(用于IP地址请求阶段)所有位全为1,255.255.255.255b.直接广播(子网广播) 主机位全为1,如192.168.1_园区私有地址

推荐文章

热门文章

相关标签