Scala下载及IDEA安装Scala插件(保姆级教程超详细)

2023-11-08

一.Scala的下载与安装

Scala语言可以在Windows,Linux,Mac OS等系统上编译运行。由于Scala是运行在JVM平台上的,所以安装Scala之前必须配置好JDK环境(JDK版本要求不低于1.5!),本博客为基于Windows系统下安装。

前奏:安装并配置JDK环境:
JDK环境下载路径:https://www.oracle.com/java/technologies/downloads/
注:根据自己的系统选择对应的JDK进行下载,版本不低于1.5!

1.安装JDK环境
打开网站后选择Windows系统下载(黄线);也提供Linux和macOS可下载。
在这里插入图片描述
打开安装包开始安装:下一步
在这里插入图片描述
此处的安装路径可自行定义,建议在D盘新建文件夹存储。在这里插入图片描述
如图则表示已安装成功
在这里插入图片描述
2.配置JDK环境
安装完成后,需要进行环境变量的配置,右键我的电脑—属性—-高级系统设置就会看到下面的界面。
在这里插入图片描述
选择【新建】系统变量,需要增加3个
变量名:JAVA_HOME
变量值:JDK安装路径
在这里插入图片描述
变量名:CLASSPATH
变量值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
在这里插入图片描述
找到环境变量里的【path】点击
在这里插入图片描述
点击【新建】,添加:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
最后全部点击确认即完成配置
在这里插入图片描述
3.检测JDK是否安装成功
使用Win + R 键打开运行输入:cmd 回车
在命令行输入:java -version 回车查看
如图显示java的版本号则表示已成功安装JDK
在这里插入图片描述

1.1Scala安装步骤:

访问Scala官网:https://www.scala-lang.org/
点击DOWNLOAD(红框)点击DOWNLOAD(红框)
选择蓝框:DOWNLOAD SCALA2
在这里插入图片描述
进入SCALA2页面下滑致底部:
蓝框:查看所有的SCALA2版本
红框:
.zip后缀:windows系统下载
.tgz 后缀:Linux系统下载 or Mac OS系统下载
在这里插入图片描述

下载压缩包后对压缩包进行解压得到如下文件(windows系统)
在这里插入图片描述
配置环境变量:
右键点击电脑,选择“属性”,选择左边的“高级系统设置”,选择“环境变量”,
选择“新建”,输入变量名:SCALA_HOME 变量值:scala解压路径;确定
在这里插入图片描述
在系统变量中找到Path并点击,选择“新建”,输入:%SCALA_HOME%\bin
全部确认即可
在这里插入图片描述

查看scala是否安装成功:
WIN + R 键 输入cmd ; 进入scala解压路径:cd scala解压路径
输入命令:scala + 回车
如下图展示scala信息并进入scala交互界面即安装成功。
在这里插入图片描述

1.2 下载IDEA

小博客选择的版本为2018.2.5(IDEA只是编译工具,读者可任意选择)
官方下载网址:https://www.jetbrains.com/
点击Developer Tools 选择 lntelliJ IDEA
在这里插入图片描述
选择红框下载安装包:[DOWNDLOAD]
在这里插入图片描述
下载后点击安装包既可进行安装
安装根据个人情况进行设置(存储路径),其余按照默认即可,安装成功(如下图)
在这里插入图片描述

1.3 在IDEA开发工具中下载按照Scala插件

打开lntellJ IDEA
选择右下角“Configure” ,然后点击下拉选项:Plugins
在这里插入图片描述
Plugins库有很多插件可联网安装,但可以选择离线安装方式,单击红框,然后选择Scala插件所在的路径确认即可。
在这里插入图片描述
注:查看scala插件是否安装成功,这也是第二种查看scala是否安装的方法。
如图所示可在Plugins库列表中搜索到即已完成安装
在这里插入图片描述
安装完scala插件后重启IDEA工具使其生效,单击【Restart】
在这里插入图片描述

1.4 开发第一个Scala程序

打开lntelliJ IDEA 选择创建新工程【Create New Project】(黄箭头)
在这里插入图片描述
选择界面左边选项的“ Scala ” ,然后选中IDEA开发工具,单击【Next】在这里插入图片描述
配置scala工程
Project name: 定义工程名;
Project location: 工程存储路径;
JDK: 选择JDK的路径;
Scala SDK:选择scala;
在这里插入图片描述
创建完工程后会得到一些文件夹。
.idea文件夹主要用来存放工程的配置信息
src文件夹主要存放工程的代码
External Libraries文件夹用来存放相关依赖项

创建包:
选中src文件夹,右击选择【New】-> 【Package】->【OK】
在这里插入图片描述

创建完包后再创建Scala类:
选择包名,右击选择【New】->【Scala Class】
在这里插入图片描述
可创建的Scala类有3种,分别是Class,Object和Trait,此处选择“Object”。
在这里插入图片描述
编写Scala类的主方法和程序输出的结果
代码和控制台输出结果如下图
在这里插入图片描述
具体代码如下:

object hello{
	def main(args:Array[String]){
		println("This is my house")
	}
}

上述代码的内容分别是Scala类的主方法(既程序入口)和程序输出的结果。
在这里插入图片描述
本章博客也就到此为止啦,有帮助到你的话,不妨给小博客点个赞支持一下吧,关注不吃泡面,后续会持续更新Spark大数据分析的内容,有什么问题欢迎评论区留言指正噢,欢迎下次光临 ~

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Scala下载及IDEA安装Scala插件(保姆级教程超详细) 的相关文章

  • 无论线程如何,对象是否总是能看到其最新的内部状态?

    假设我有一个带有简单整数计数变量的可运行对象 每次可运行对象运行时该变量都会递增 该对象的一个 实例被提交以在计划的执行程序服务中定期运行 class Counter implements Runnable private int coun
  • 将处理项目移至 Eclipse

    我已经在处理项目上工作了一段时间 现在想将其移至 Eclipse 中 我已经在 Eclipse 环境中安装了 Proclipse 我有很多扩展名为 pde 的文件 然而 Proclipse 文件都以 java 结尾 所有 pde 文件都存在
  • 了解 netty 通道缓冲区和水印

    我正在尝试了解网络缓冲区和水印 作为一个测试用例 我有一个 netty 服务器 它向客户端写入数据 客户端被阻止 基本上每次读取之间有 10 秒的睡眠时间 在正常 I O 下 如果接收方被阻塞 TCP 发送方将受到限制 由于流量控制 发送速
  • Java 小程序在 Mac 上闪烁

    这个问题很奇怪 问题并非在每个平台上都会发生 我在使用 MacOSX 的 Google Chrome 中出现了这种情况 但在 Safari 中却没有出现这种情况 对于使用 Windows 的朋友来说 在 Google Chrome 上运行得
  • JAXB 继承冲突 - 重新注释子类

    目前我的项目中有这样的环境 public abstract class Foo private List
  • Selenium 和 TestNG 同时使用“dependsOn”和“priority =”问题

    我正在努力在 GUI 自动化测试中实现更好的工作流程控制 我首先从dependsOn开始 但很快发现缺点是如果一个测试失败 则套件的整个其余部分都不会运行 所以我改用 priority 但看到了意外的行为 一个例子 Test priorit
  • Java Junit 测试 HTTP POST 请求

    我需要测试以下方法而不改变方法本身 该方法向服务器发出 POST 方法 但我需要制作一个独立于服务器的测试用例 在将其重定向到本地文件之前 我测试了类似的方法 但为此我将协议指定为文件 主机名指定为 localhost 端口指定为 1 我的
  • java项目中无法加载类“org.slf4j.impl.StaticLoggerBinder”错误? [复制]

    这个问题在这里已经有答案了 我越来越Failed to load class org slf4j impl StaticLoggerBinder 错误 我想将记录器写入文件 所以我使用了 log4j jar 并使用 apache tomca
  • Java 中如何验证字符串的格式是否正确

    我目前正在用 Java 编写一个验证方法来检查字符串是否是要更改为日期的几种不同格式之一 我希望它接受的格式如下 MM DD YY M DD YY MM D YY 和 M D YY 我正在测试第一种格式 每次它都告诉我它无效 即使我输入了有
  • 是否可以手动检查 LocateRegistry 是否存在?

    I 已经发现 https stackoverflow com a 8338852 897090一种安全的方式获得LocateRegistry 即使注册表尚不存在 Registry registry null try registry Loc
  • ActiveMQ JNDI 查找问题

    尝试使用 JNDI 运行以下 ActiveMQ http activemq apache org jndi support html http ActiveMQ 20JNDI 并且我的 jboss server node lib 文件夹中有
  • 了解Kafka流groupBy和window

    我无法理解 kafka 流中的 groupBy groupById 和窗口的概念 我的目标是聚合一段时间内 例如 5 秒 的流数据 我的流数据看起来像 value 0 time 1533875665509 value 10 time 153
  • 获取 Future 对象的进度的能力

    参考 java util concurrent 包和 Future 接口 我注意到 除非我弄错了 只有 SwingWorker 实现类才能启动冗长的任务并能够查询进度 这就引出了以下问题 有没有办法在非 GUI 非 Swing 应用程序 映
  • Intellij删除多个本地分支

    使用Intellij IDE 我的版本是2017 3 5 有没有办法一次删除多个本地git分支 您可以直接在IntelliJ IDEA中删除多个分支 转到选项卡 Git Log IDE 底部 或通过 IDE 顶部菜单 Git Show Gi
  • 开发者环境-如何调用/消费其他微服务

    背景 我的环境 Java Play2 MySql 我在 Play2 gt S1 S2 S3 上编写了 3 个无状态 Restful 微服务 S1 消耗来自 S2 和 S3 的数据 因此 当用户点击 S1 时 该服务会异步调用 S2 S3 合
  • java.lang.UnsatisfiedLinkError - android studio gradle 中的 NDK?

    文件夹结构 app main java jni Android mk Application mk hello jni c res 在构建 gradle apply plugin com android application androi
  • 使用 Java 8 Spring 4 + MyBatis 集成问题

    使用 Java 8 1 8 0 60 Spring 4 2 1 和 MyBatis 3 3 0 时遇到以下异常 Sep 29 2015 11 02 58 AM org springframework context annotation A
  • 为什么不能在 if 语句中声明变量?

    以下 Java 代码无法编译 int a 0 if a 1 int b 0 if a 1 b 1 为什么 不能有任何代码路径导致程序将 1 分配给b无需先声明 我突然想到b的变量范围可能仅限于第一个if声明 但后来我不明白为什么 如果我实在
  • Java 中序列化的目的是什么?

    我读过很多关于序列化的文章 以及它如何如此美好和伟大 但没有一个论点足够令人信服 我想知道是否有人能真正告诉我通过序列化一个类我们真正可以实现什么 让我们先定义序列化 然后我们才能讨论它为什么如此有用 序列化只是将现有对象转换为字节数组 该
  • Unicode(希腊语)字符存储在数据库中,例如“??????”

    数据库中的希腊字符就像问号 我找不到解决办法 我使用 Java Swing 开发了一个应用程序 但是当我在 MySQL 中插入希腊字母时 就像问号一样 我将数据库排序规则更改为 utf8 并将列也更改为 utf8 我的项目编码设置为UTF

随机推荐

  • 小程序坑录-wx.getLocation接口申请

    最近在用uni app通用框架做h5和小程序 结果在小程序审核的时候 又遇到了很多天坑 故记录之 从2022 年 7 月 14 日开始 使用位置接口 就必须在app json中进行声明了 除此之外 在正式使用时 还需要在开发管理 接口权限内
  • 期货开户关于基本面量化

    一 库存 供求矛盾看库存 东西没有了 缺了 就会涨价 不缺 一般不会涨 所以 一定要注意库存 去库存快的品种 特别是库存低 价格低的品种 要重点关注 库存有一点要特别注意 要是 有效去库存 通过降价让下游买货 这种 去库存 不是根本 因为库
  • Leetcode:链表刷题(7道经典题目)

    Leetcode 链表刷题 7道经典题目 本文带来的是以链表为主题的一些经典题目 203 移除链表元素 707 设计链表 206 反转链表 24 两两交换链表中的节点 19 删除链表的倒数第 N 个结点 面试题 02 07 链表相交 142
  • Redis设置失效时间

    Redis设置失效时间还有nx和nxx 通过设置失效时间 可以将到达规定时间对应的key和value进行删除 设置失效时间的两种方式 1 在设值的时候设置失效时间 set code test ex px 秒 毫秒 时间 数值 set cod
  • 深度学习 FairMOT多目标跟踪(PANDA)

    FairMOT 复赛期间对于多目标跟踪任务使用的baseline 本质属于联合学习检测和嵌入模型 Joint Detection and Embedding JDE 毕设项目演示地址 链接 毕业项目设计代做项目方向涵盖 目标检测 语义分割
  • 关于航模的几点积累(四)关于螺旋桨

    关于固定翼飞行器的螺旋桨 1 螺旋桨的几种类型 按材质 塑料 木质 碳纤维 玻璃纤维 尼龙等 按桨叶数量 单叶桨 双叶桨 三叶桨等 按固定方式 快拆桨 大孔桨 适配子弹头 小孔桨 适配螺旋桨保护器 这几种螺旋桨之间的对比分析 2 螺旋桨的重
  • 计算机软件工程操作系统期末复习题

    1 计算机操作系统的功能是 D A 把源程序代码转换为目标代码 B 实现计算机用户之间的相互交流 C 完成计算机硬件与软件之间的转换 D 控制 管理计算机系统的资源和程序的执行 在现代计算机系统中 用户用高级语言编写的源程序必须通过编译程序
  • Elasticsearch Head的使用

    目录 概述 一 安装 Elasticsearch Head 二 解压文件 三 安装Elasticsearch Head依赖 四 启动 Elasticsearch Head 五 修改Elasticsearch Head启动端口号 六 使用 E
  • STM32的PWM控制4个舵机

    本人虽然接触STM32快半年了 但是最近才开始系统的学习STM32 建议一边学 一边做东西 能够更快的提升自己 我用的定时器是TIM3 所以我会把我出现的问题 分享给大家 希望大佬多多指教 因为我先进行部分映射 但是控制某个舵机的PB4引脚
  • 【SVN内网穿透】远程访问Linux SVN服务

    文章目录 前言 1 Ubuntu安装SVN服务 2 修改配置文件 2 1 修改svnserve conf文件 2 2 修改passwd文件 2 3 修改authz文件 3 启动svn服务 4 内网穿透 4 1 安装cpolar内网穿透 4
  • 【微信公众号对接】有关签名一直报错,提示invalid signature问题(我的签名和使用微信开发者工具验证返回的签名的是一致的)但还是报错!!!

    今天对接公众号 一直提示我签名有问题 但是我的签名和官方生成的签名一致 下面是对应数据比对 我的签名 微信官方提供签名 经过比对 两者是一致的 但是 就是一直提示错误 后面是解决思路 1 首先是需要在公众号管理平台配置对应服务器信息 包含白
  • 软件测试大作业 题目 网站测试,[软件分析与测试大作业] 测试性分析软件

    软件分析与测试 考试大作业 1 假设某单位内部电话号码由三部分组成 分别是 分机号 前缀 后缀 其中 分机号为空白或一位数字 前缀为非 0 开头的二位数字 后缀为非全0的3位数字 假定被测程序能接受一切符合上述规定的电话号码 拒绝所有不符合
  • 2023牛客暑期多校训练营7 I-We Love Strings (分块)

    文章目录 题目大意 题解 参考代码 题目大意 题解 这题给定的 n n n 大小和 s i s i si 的总长度有玄机
  • transformers学习笔记3

    创建model的方法 automodel创建预训练模型 使用automodel直接创建 使用的是hug face官网上的预训练好的模型参数 完成创建后再使用自己本地的数据集进行迁移训练 automodel api 去官网上下载用户指定类型模
  • com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure

    com mysql cj jdbc exceptions CommunicationsException Communications link failure 这个问题就是本地sql没有开始 详情请看点击此处
  • 华为机试-称砝码

    文章目录 描述 输入描述 输出描述 代码解析 描述 现有n种砝码 重量互不相等 分别为 m1 m2 m3 mn 每种砝码对应的数量为 x1 x2 x3 xn 现在要用这些砝码去称物体的重量 放在同一侧 问能称出多少种不同的重量 注 称重重量
  • 地平线 AI 芯片工具链 - 03 自定义模型转换

    地平线 AI 芯片工具链 03 自定义模型转换 1 前提条件 2 文件目录 3 模型可视化 4 模型校验 5 模型编译 1 前提条件 地平线 AI 芯片工具链 01 配置安装 待转换模型 onnx 模型 其他类型可转为 onnx 模型 2
  • springboot项目如何开启热部署

    1 添加依赖
  • bert简单介绍和实践

    bert模型是Google在2018年10月发布的语言表示模型 在NLP领域横扫了11项任务的最优结果 可以说是现今最近NLP中最重要的突破 Bert模型的全称是Bidirectional Encoder Representations f
  • Scala下载及IDEA安装Scala插件(保姆级教程超详细)

    一 Scala的下载与安装 Scala语言可以在Windows Linux Mac OS等系统上编译运行 由于Scala是运行在JVM平台上的 所以安装Scala之前必须配置好JDK环境 JDK版本要求不低于1 5 本博客为基于Window