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

智能推荐

Redis常用命令-程序员宅基地

文章浏览阅读783次。http://www.4wei.cn/archives/1002509Redis常用命令集1)连接操作命令quit:关闭连接(connection)auth:简单密码认证help cmd: 查看cmd帮助,例如:help quit2)持久化save:将数据同步保存到磁盘bgsave:将数据异步保存到磁盘lastsave:返回上次成功将数据保存到磁盘的Unix时戳shundo..._redis怎么使用vi

android.content.res.Resources$NotFoundException: Resource ID #0xfffffe6c (使用BaseRecyclerViewAdapt)-程序员宅基地

文章浏览阅读3.8k次。错误:android.content.res.Resources$NotFoundException: Resource ID #0xfffffe6c 意思是资源ID找不到。然后又在报错中出现跟BaseQuickAdapter相关信息,可以分为两个方面,第一个是在加载Adapter Item取控件的时候为空,第二个是加载不同View的时候为空。 View inflate = g..._android.content.res.resources$notfoundexception: resource id #0xfffffe6c

RPA认证 Developer UIPath Certificate,细说uipath认证学习,Online Quiz和Practical Exam项目详解-程序员宅基地

文章浏览阅读2.1w次,点赞11次,收藏61次。UIPath,RPA里算是比较简单易操作的一款软件了,因为公司业务的需要,代理uipath以及部署业务,所以接触到了uipath。从开始到最终做到企业项目部署,大概用了两个月的时间,收获不少。自己之前是做过后端开发,前端以及手机端软件自动化的相关开发工作(触动sprite…),所以学习起来挺快的。最终花了两周多的时间,阅读了官方的文档,uiapth官方的学院,以及第三方一些文档,完成了整个uipa..._uipath认证

<VBScript>终极破产版石头剪刀布游戏(VBS语言实现)_vbs石头剪刀布-程序员宅基地

文章浏览阅读1.8k次,点赞6次,收藏4次。前几天拜读失泽久雄先生所著写的《计算机是怎样跑起来的》,当时看书中的代码用VBS语言写的一个石头剪刀布游戏特别好玩,于是手敲了一遍,并做了些改进——石头剪刀布小游戏。结果后来给一个朋友看,发现有bug,于是又在网上查了些资料,做了一些改进,此次带来石头剪刀布3.0破产版,哈哈哈。以下为代码实现,尽管简陋,不过有兴趣玩的朋友可以用Windows自带的笔记本把下面的代码粘过去,文档后缀名改成 .V..._vbs石头剪刀布

就是要让你搞懂Nginx,这篇就够了!-程序员宅基地

文章浏览阅读98次。开源Linux长按二维码加关注~作者:渐暖°出处:blog.csdn.net/yujing1314/article/details/107000737来源:公众号51CTO技术栈Ng..._nginx不开源的如何使用

JavaWeb书城项目(二)——用户注册和登录_传智书城项目设计报告 javaweb用户注册-程序员宅基地

文章浏览阅读1.7k次,点赞3次,收藏17次。之前已经做好前端页面,现在要通过 servlet 程序以及 JDBC 具体实现用户注册和登录JavaEE项目的三层架构为什么要分层呢?通过一层完成所有事情不行吗?分层的目的是为了解耦。解耦就是为了降低代码的耦合度。方便项目后期的维护和升级。我们知道有些项目代码量是巨大的,如果放在一层后期维护和升级会很麻烦,如果分出不同的层,每层都有不同负责的人员,那么维护和升级会变得轻松很多。需要的接口和类web 层 com.atguigu.web/servlet/controllerservice 层._传智书城项目设计报告 javaweb用户注册

随便推点

SpringBoot使用prometheus监控_spring security 只开启/actuator/promethues断点-程序员宅基地

文章浏览阅读3.1w次,点赞2次,收藏40次。本文介绍SpringBoot如何使用Prometheus配合Grafana监控。1.关于PrometheusPrometheus是一个根据应用的metrics来进行监控的开源工具。相信很多工程都在使用它来进行监控,有关详细介绍可以查看官网:https://prometheus.io/docs/introduction/overview/。2.有关GrafanaGrafana是一个开源监..._spring security 只开启/actuator/promethues断点

Redis数据结构_redis取值fet list-程序员宅基地

文章浏览阅读99次。redis是一种高级的key-value数据库存储系统 其中value值支持物种数据类型 ,key的数据类型一般都是String字符串类型:String散列类型:hash列表类型:list集合类型:set有序集合类型:sorted set对于redis的key值,如果定义的名称过长,查询效率就会降低,所以一般是按照规范命名就可以了。命令ping 就是连接是否成功 显示PONG就表示连接成功redis默认会在空间之中生成16个数据库,数据库编号以此从.._redis取值fet list

为什么在java中计算2的32次方可以用1L左移32表示_java中2的32次方如何表示-程序员宅基地

文章浏览阅读6.5k次。为什么在java中计算2的32次方可以用1L&lt;&lt;32表示 java中移位运算符&lt;&lt; : 左移运算符,num &lt;&lt; 1,相当于num乘以2&gt;&gt; : 右移运算符,num &gt;&gt; 1,相当于num除以22的32次方,相当于32个2相乘1L&lt;&lt;32 ,不就是1乘以32个2 ,二者相等。&lt;&_java中2的32次方如何表示

ADC触摸屏编程测试笔记_韦东山老师_adc_cnt-程序员宅基地

文章浏览阅读484次。首先我们要先知道触摸屏,他是透明的薄膜,LCD和触摸屏是两个不同的设备。我们不能把它混为一谈,触摸屏是触摸屏LCD是LCD。从韦老师的博客我们知道或者说百度,实际上触摸屏是由两层膜组成,我的理解是这样子更加方便ADC测量,也就是去进行精准位置。在学习ADC触摸屏编程测试的时候遇到一个问题,那就是在点击A点的时候自动跳过了B点直接到达C点位置校准。经过韦老师的分析加上自己的理解也终于明白..._adc_cnt

查看堆栈信息_hprof文件可以看到堆栈信息-程序员宅基地

文章浏览阅读1.3k次。本文不做说明,记录工作上内存泄漏相关定位工具生成堆栈文件通过jdk自带工具生成,线上使用的时候执行的时候提示找不到pid对应的文件,加上-F参数可以强制关联上jmap -F -dump:format=b,file=d:\dump\heap.hprof <pid>下面这个没有使用过,目测可以jcmd <pid> GC.heap_dump d:\dump\h..._hprof文件可以看到堆栈信息

service和systemctl的区别_systemctl service-程序员宅基地

文章浏览阅读1w次,点赞8次,收藏49次。Linux服务管理的两种方式service和systemctl。serviceservice命令其实是去/etc/init.d目录下,去执行相关程序,init.d目录包含许多系统各种服务的启动和停止脚本。当Linux启动时,会寻找这些目录中的服务脚本,并根据脚本的run level确定不同的启动级别。参考这篇文章,了解系统启动的过程及centos和ubuntu的区别。service的常用方式:1.格式:service <service>打印指定服务<service>的_systemctl service

推荐文章

热门文章

相关标签