当前位置: 首页 > news >正文

scala 安装和创建项目

Scala,一种可随您扩展的编程语言:从小型脚本到大型多平台应用程序。Scala不是Java的扩展,但它完全可以与Java互操作。在编译时,Scala文件将转换为Java字节码并在JVM(Java虚拟机)上运行。Scala被设计成面向对象和函数式的。它是一种纯粹的面向对象语言。scala的名字来源于单词scalable,意思是它可以随着用户的需求而增长

Scala 官网:https://www.scala-lang.org/

目录

1、scala 安装

1.1、使用 Scala安装程序安装

1.2、直接安装

2、HelloWorld 代码

3、IDEA 中使用 Scala

3.1、安装 Scala 插件

3.2、新建 Scala 项目

3.3、新建 maven 项目


1、scala 安装

scala 安装要保证电脑已经安装过 java8 获取 java11,笔者的电脑安装的是 java11

scala 官网说明截图

scala安装笔者介绍2种方式

1.1、使用 Scala安装程序安装

官网下载 Scala 安装程序

下载安装程序

根据自己的电脑系统进行选择

下载完成

解压

在 cs-x86_64-pc-win32.exe 所在文件目录打开 cmd 窗口

执行安装命令

cs-x86_64-pc-win32.exe install scala
cs-x86_64-pc-win32.exe install scalac

安装的 scala 默认在 C:\Users\Administrator\AppData\Local\Coursier\data\bin 目录下

这个可以通过双击执行 cs-x86_64-pc-win32.exe 看到

可以根据需给 C:\Users\Administrator\AppData\Local\Coursier\data\bin 目录配置环境变量

查看 scala 版本

scala3 -version

1.2、直接安装

笔者使用这种方式

打开scala 下载页面:https://www.scala-lang.org/download/

往下看,找到要安装的版本,笔者选择 3.3.1

打开 github 下载页面

github 下载页

滑到页面最下面,点击下载

下载完成

解压

bin 目录

查看版本

在 bin 目录下执行命令

scala -version

配置环境变量

新建系统环境变量 SCALA_HOME = D:\env\scala\scala3-3.3.1

在系统环境变量Path 后面添加 %SCALA_HOME%\bin

安装完成

2、HelloWorld 代码

配置环境变量后,在任意空文件目录下新建 HelloWorld.scala 文件

HelloWorld.scala 内容

object HelloWorld {def main(args: Array[String]): Unit =  {print("hello world")}
}

编译 HelloWorld.scala 

scalac HelloWorld.scala

编译之后运行

scala HelloWorld

运行效果

3、IDEA 中使用 Scala

3.1、安装 Scala 插件

打开 IDEA 设置,点开插件

搜索 Scala 插件

安装

安装完成后,重启 IDEA

3.2、新建 Scala 项目

New、Module

选择 Scala

编辑项目名、添加 Scala SDK

添加 Scala SDK

选择 Scala

这里 Scala 版本和 IDEA 版本有关系,笔者的IDEA版本是2018年的,不能使用Scala 3,笔者使用的是Scala 2.X 版本

完成

新建 Scala 代码

在 src 目录下右键 New、Scala Script

文件名

新建完成

添加代码

object Demo {def main(args: Array[String]): Unit = {println("笼鸡有食汤锅近,野鹤无粮天地宽")}
}

运行效果

3.3、新建 maven 项目

New、Module

编辑 GroupId、ArtifactId

Finish

新建完成

在 main 目录下新建 scala 目录,用来存放 scala 代码

在 scala 目录上右键,将其标记为 Sources Root

打开 Project Structure

先检查 Global Libraries 里面有没有 Scala SDK,如果没有点击 + 号添加,笔者这里在上面 3.2新建 Scala 项目时,IDEA默认添加了

查看 Modules

选择项目 scala-maven-demo,点击 + 号添加 Scala SDK

选择 Library

选择 Scala SDK

添加

OK

添加完成后,在 scala  目录下新建包 com.wsjzzcbq

包新建完成后,新加 scala 文件 Demo


object Demo {def main(args: Array[String]): Unit = {println("鸟随鸾凤飞腾远,人伴贤良品自高。与君共饮盏中酒,几人哀伤几人愁")}
}

运行效果

至此完

相关文章:

scala 安装和创建项目

Scala,一种可随您扩展的编程语言:从小型脚本到大型多平台应用程序。Scala不是Java的扩展,但它完全可以与Java互操作。在编译时,Scala文件将转换为Java字节码并在JVM(Java虚拟机)上运行。Scala被设计成面向对…...

Python办公自动化 – 自动化文本翻译和Oracle数据库操作

Python办公自动化 – 自动化文本翻译和Oracle数据库操作 以下是往期的文章目录,需要可以查看哦。 Python办公自动化 – Excel和Word的操作运用 Python办公自动化 – Python发送电子邮件和Outlook的集成 Python办公自动化 – 对PDF文档和PPT文档的处理 Python办公自…...

如何在Win10电脑接收苹果手机日程提醒呢?

有很多小伙伴手机使用的是iPhone苹果手机,但办公电脑使用的win10系统的电脑,这时候如果想要在win10电脑上同步接收苹果手机上设置的日程提醒,该怎么操作呢?如何在win10电脑接收苹果手机日程提醒呢? 如果你设置的日程提…...

227.【2023年华为OD机试真题(C卷)】小明找位置(二分查找-JavaPythonC++JS实现)

🚀点击这里可直接跳转到本专栏,可查阅顶置最新的华为OD机试宝典~ 本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握! 文章目录 一. 题目-小明找位置二.解题思路三.题解代码Python题解代…...

【现代密码学】笔记3.4-3.7--构造安全加密方案、CPA安全、CCA安全 《introduction to modern cryphtography》

【现代密码学】笔记3.4-3.7--构造安全加密方案、CPA安全、CCA安全 《introduction to modern cryphtography》 写在最前面私钥加密与伪随机性 第二部分流加密与CPA多重加密 CPA安全加密方案CPA安全实验、预言机访问(oracle access) 操作模式伪随机函数PR…...

服务器带宽有什么用? 带宽不足怎么办?

服务器带宽是指服务器能够接收和传输数据的速率,通常以每秒传输的数据量来衡量。它是支持特定应用服务器网络和因特网(Internet)访问的单一网络线路,对网络速度、响应时间、应用程序处理速度等方面都有影响。 服务器带宽有什么作…...

Alphafold2蛋白质结构预测AI工作站配置推荐

AlphaFold2计算特点 蛋白质三维结构预测是一项计算量非常巨大的任务,科学家多年的探索研究,形成了X射线晶体学法、核磁共振法、冷冻电镜等。 2021年底,谷歌的DeepMind团队的采用人工智能方法的AlphaFold2算法在生物界引起了极大的轰动…...

如何让ArcGIS Pro启动显示空白页面

刚接触ArcGIS Pro的你是否会觉得在操作上有那么一些不习惯,从一开始软件启动就发现和ArcGIS差距很大:丰富的欢迎页面,加上默认加载的地图让你眼花缭乱,这里教你如何去掉这些繁杂的内容,还你一个干净的启动页面。 跳过…...

超市账单管理系统产品数据新增Servlet实现

超市账单管理系统产品数据新增Servlet实现 package com.test.controller; import java.io.IOException; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import ja…...

计算机组成原理之计算机硬件发展和计算机系统的组成

学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您: 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持,想组团高效学习… 想写博客但无从下手,急需…...

《JVM由浅入深学习【七】 2024-01-11》JVM由简入深学习提升分享

亲爱的读者们,欢迎来到本篇博客,这是JVM第七次分享,下面是七个JVM常用常面的分享,请笑纳 目录 1. 几个与JVM 内存相关的核心参数2.如何计算一个对象的大小3.堆为什么要分为新生代和老年代4.JVM堆的年轻代为什么要有两个 Survivor…...

Golang leetcode142 环形链表 暴力map 快慢指针法

文章目录 环形链表 leetcode142暴力遍历 map哈希记录快慢指针法 环形链表 leetcode142 该题目要求找到入环的第一个节点 我们可以通过map进行记录,没到新的节点查询是否经过原有节点 入环节点,上两个节点的next相同 若有入环节点,则一定能检…...

基于java,springboot的论旅游管理系统设计与实现

环境以及简介 基于java,springboot的论旅游管理系统设计与实现,Java项目,SpringBoot项目,含开发文档,源码,数据库以及ppt 源码下载 环境配置: 框架:springboot JDK版本:JDK1.8 服…...

掌握视频节奏,玩转剪辑艺术!,轻松调整视频播放速度与秒数的技巧大揭秘

你是否经常觉得视频播放得太快或太慢,无法满足你的观看需求?或者想要控制视频的长度,却不知道该如何下手?今天,我们将为你揭秘几种简单又实用的方法,让你轻松调整视频的播放速度和秒数! 首先&a…...

51单片机介绍

1 单片机简介 单片机,英文Micro Controller Unit,简称MCU 内部集成了CPU、RAM、ROM、定时器、中断系统、通讯接口等一系列电脑的常用硬件功能 单片机的任务是信息采集(依靠传感器)、处理(依靠CPU)和硬件设…...

k8s存储卷之动态

动态pv需要两个组件 1、卷插件,k8s本身支持的动态pv创建不包含NFS,需要声明和安装一个外部插件 Provisioner 存储分配器,动态创建pv,然后根据pvc的请求自动绑定和使用 2、StorageClass,用来定义pv的属性&#xff0c…...

base64 图片进行编码、解码;api调用

1、base64 图片进行编码、解码 编码 import base64# 假设您有一个图像文件,例如 image.jpg with open(r"C:\Users\l****1686722996428308480-1 (1).jpg", rb) as image_file:# 读取图像文件的二进制数据image_data image_file.read()# 将二进制数据编码…...

鸿蒙OS应用开发之百分比显示组件

前面学习了动态加载的组件,在本文里将要学习百分比显示组件,这个组件可以把数据按百分比的情况进行图形显示出来。百分比图形显示还是很有用的,比如一个班里学生的成绩占比,还有软件项目开发进度的情况,还有软件下载进度等等。 在鸿蒙系统里定义这个组件接口如下: DataP…...

网络多线程开发小项目--QQ登陆聊天功能(私聊群发)

9.1.4、QQ登陆聊天功能(私聊群发) 9.1.4.1、私聊功能 1、需求说明 2、思路分析 3、代码实现 QQClient: 1)cn.com.agree.qqclient.QQView.QQView case "3":log.debug("请输入想给谁发消息(在线用户):");St…...

企业版多域名SSL证书

多域名SSL证书,是一种数字证书,可以用一张SSL证书保护多个独立的域名。这种证书类型适用于拥有多个不同域名的个人或者企事业单位,可以节省给每个域名购买和管理SSL证书的时间和成本。企业版多域名SSL证书只支持企事业单位申请,今…...

NineData SQL AI 智能补全上线:写 SQL,不必每次都从头敲

写 SQL 的人,大概都遇到过这种情况: 明明脑子里已经知道要查什么,但真正开始写的时候,还是得一点点补关键字、补表名、补字段、补语句结构。越是多表查询、长 SQL、复杂条件,越容易写得慢、改得烦,还容易漏…...

从配准到生成:扩散模型如何革新医学图像跨模态转换

1. 医学图像跨模态转换的技术挑战 医学影像领域长期面临一个核心难题:如何在不同成像模态之间实现高精度转换。比如将核磁共振(MRI)的软组织图像转换为计算机断层扫描(CT)的骨骼结构图像,这种需求在放射治…...

javaweb高校学生宿舍管理系统的设计与实现

目录同行可拿货,招校园代理 ,本人源头供货商高校学生宿舍管理系统功能分析学生信息管理模块宿舍分配管理模块费用管理模块报修与维修管理模块访客与门禁管理模块卫生检查与评分模块系统管理模块技术实现要点项目技术支持源码获取详细视频演示 :文章底部获取博主联系…...

抖音批量下载工具高效应用全攻略:从单视频到批量采集的完整指南

抖音批量下载工具高效应用全攻略:从单视频到批量采集的完整指南 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallb…...

[项目名称]:简洁有力的项目描述

[项目名称]:简洁有力的项目描述 【免费下载链接】InstantID 项目地址: https://ai.gitcode.com/hf_mirrors/InstantX/InstantID [简短的项目介绍,前100字内包含核心关键词] ✨ 核心特性 特性1:简要描述特性2:简要描述特…...

基础语法篇总结——从入门到精通

基础语法篇总结——从入门到精通 系列专栏:Python 100天从新手到大师 当前进度:Day 01-30 / 100 阅读时长:8 分钟 难度等级:⭐⭐ 一、本篇回顾 基础语法篇共 30 篇文章,涵盖了 Python 编程的核心基础: 知识体系 基础语法篇 (30 篇) ├── 基础入门 (8 篇) │ ├──…...

Apollo6.0 Lattice算法实战解析——从轨迹组合到最优路径生成

1. Lattice算法在Apollo6.0中的核心作用 Lattice算法是Apollo自动驾驶系统中的关键路径规划模块,它负责将横向和纵向轨迹进行智能组合,最终生成安全、舒适且符合交通规则的最优行驶路径。这个算法就像一位经验丰富的导航员,不仅要考虑车辆当前…...

Three.js面试必备:从光源类型到性能优化的20个高频考点解析

Three.js面试深度攻略:从核心原理到性能优化的20个技术要点 当面试官抛出"Three.js的光照系统如何影响渲染性能"这类问题时,你是否能条理清晰地拆解环境光与平行光的计算差异?面对"如何实现自定义着色器优化建筑可视化项目的渲…...

MFC界面现代化---自定义标题栏与控件美化实战

1. 为什么需要MFC界面现代化改造 很多老牌企业软件和工业控制系统都基于MFC框架开发,这些系统通常运行了十几年甚至更久。我接手过不少这类项目,最直观的感受就是界面实在太"复古"了——灰底蓝框的窗口、生硬的按钮、像素感明显的图标&#xf…...

当DWA遇上模糊控制:让路径规划更“聪明

基于改进动态窗口 DWA 模糊自适应调整权重的路径基于改进动态窗口 DWA 模糊自适应调整权重的路径规划算法 MATLAB 源码文档 《栅格地图可修改》 基本DWA算法能够有效地避免碰撞并尽可能接近目标点,但评价函数的权重因子需要根据实际情况进行调整。 为了提高DWA算法的…...