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("鸟随鸾凤飞腾远,人伴贤良品自高。与君共饮盏中酒,几人哀伤几人愁")}
}

运行效果

至此完

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/606093.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【JAVA】Iterator 怎么使用?有什么特点

🍎个人博客:个人主页 🏆个人专栏: JAVA ⛳️ 功不唐捐,玉汝于成 目录 前言 正文 Iterator 接口的主要方法: 例子 特点: 结语 我的其他博客 前言 在编程的世界里,迭代…

DTM分布式事务

DTM分布式事务 从内网看到了关于事务在业务中的讨论,评论区大佬有提及DTM开源项目[https://dtm.pub/],开学开学 基础理论 一、Why DTM ​ 项目产生于实际生产中的问题,涉及订单支付的服务会将所有业务相关逻辑放到一个大的本地事务&#xff…

卷积神经网络|迁移学习-猫狗分类完整代码实现

还记得这篇文章吗?迁移学习|代码实现 在这篇文章中,我们知道了在构建模型时,可以借助一些非常有名的模型,这些模型在ImageNet数据集上早已经得到了检验。 同时torchvision模块也提供了预训练好的模型。我们只需稍作修改&#xf…

qtday1(2024/1/8)

#include "mywidget.h"MyWidget::MyWidget(QWidget *parent): QMainWindow(parent) {//设置界面固定大小this->resize(1728,972);this->setFixedSize(1728,972);this->setWindowIcon(QIcon("C:\\Users\\78507\\Desktop\\pic\\qq1.png"));this->…

高级RAG(五):TruLens 评估-扩大和加速LLM应用程序评估

之前我们介绍了,RAGAs评估,今天我们再来介绍另外一款RAG的评估工具:TruLens , trulens是TruEra公司的一款开源软件工具,它可帮助您使用反馈功函数客观地评估基于 LLM 的应用程序的质量和有效性。反馈函数有助于以编程方式评估输入、输出和中间…

vue3 内置组件

文章目录 前言一、过渡效果相关的组件1、Transition2、TransitionGroup 二、状态缓存组件(KeepAlive)三、传送组件(Teleport )四、异步依赖处理组件(Suspense) 前言 在vue3中 其提供了5个内置组件 Transiti…

antv/x6_2.0学习使用(四、边)

一、添加边 节点和边都有共同的基类 Cell,除了从 Cell 继承属性外,还支持以下选项。 属性名类型默认值描述sourceTerminalData-源节点或起始点targetTerminalData-目标节点或目标点verticesPoint.PointLike[]-路径点routerRouterData-路由connectorCon…

猫咪吃哪种猫粮好?主食冻干猫粮哪种性价比高

由于猫咪是肉食动物,对蛋白质的需求很高,如果摄入的蛋白质不足,就会影响猫咪的成长。而冻干猫粮本身因为制作工艺的原因,能保留原有的营养成分和营养元素,所以冻干猫粮蛋白含量比较高,营养又高,…

第二十七周:文献阅读笔记

第二十七周:文献阅读笔记 摘要AbstractDenseNet 网络1. 文献摘要2. 引言3. ResNets4. Dense Block5. Pooling layers6. Implementation Details7. Experiments8. Feature Reuse9. 代码实现 总结 摘要 DenseNet(密集连接网络)是一种深度学习神…

工智能基础知识总结--词嵌入之FastText

什么是FastText FastText是Facebook于2016年开源的一个词向量计算和文本分类工具,它提出了子词嵌入的方法,试图在词嵌入向量中引入构词信息。一般情况下,使用fastText进行文本分类的同时也会产生词的embedding,即embedding是fastText分类的产物。 FastText流程 FastText的架…

计算机组成原理简答题

目录 1、指令和数据在计算机内部以几进制存储,又是如何区分的呢? 2、计算机内部为什么要使用二进制? 3、简单描述计算机系统的层次结构 4、DRAM为什么要进行刷新,如何刷新的? 5、简述不同操作码的指令格式&#xf…

FileStream文件管理

文件管理 FileStream:是一个用于读写文件的一个类。它提供了基于流的方式操作文件,可以进行读取、写入、查找和关闭等操作。 第一个参数:path(路径) 相对路径:相对于当前项目的bin目录下的Debug和Realse来…

[嵌入式AI从0开始到入土]10_yolov5在昇腾上应用

[嵌入式AI从0开始到入土]嵌入式AI系列教程 注:等我摸完鱼再把链接补上 可以关注我的B站号工具人呵呵的个人空间,后期会考虑出视频教程,务必催更,以防我变身鸽王。 第一章 昇腾Altas 200 DK上手 第二章 下载昇腾案例并运行 第三章…

【AI视野·今日NLP 自然语言处理论文速览 第七十一期】Fri, 5 Jan 2024

AI视野今日CS.NLP 自然语言处理论文速览 Fri, 5 Jan 2024 Totally 28 papers 👉上期速览✈更多精彩请移步主页 Daily Computation and Language Papers LLaMA Pro: Progressive LLaMA with Block Expansion Authors Chengyue Wu, Yukang Gan, Yixiao Ge, Zeyu Lu, …

java导出word套打

这篇文档手把手教你完成导出word套打&#xff0c;有这个demo&#xff0c;其他word套打导出都通用。 1、主要依赖 <!--hutool--><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.3.0</ve…

IPv6路由协议---IPv6动态路由(RIPng)

IPv6动态路由协议 动态路由协议有自己的路由算法,能够自动适应网络拓扑的变化,适用于具有一定数量三层设备的网络。缺点是配置对用户要求比较高,对系统的要求高于静态路由,并将占用一定的网络资源和系统资源。 路由表和FIB表 路由器转发数据包的关键是路由表和FIB表,每…

CreateDIBSection失败的问题记录

错误记录 [ERROR] (:0, ): QPixmap::fromWinHICON(), failed to GetIconInfo() (操作成功完成。) [ERROR] (:0, ): QPixmap::fromWinHICON(), failed to GetIconInfo() (参数错误。) [ERROR] (:0, ): QPixmap::fromWinHICON(), failed to GetIconInfo() (参数错误。) [ERROR] …

升级 Vite 5 出现警告 The CJS build of Vite‘s Node API is deprecated.

&#x1f680; 作者主页&#xff1a; 有来技术 &#x1f525; 开源项目&#xff1a; youlai-mall &#x1f343; vue3-element-admin &#x1f343; youlai-boot &#x1f33a; 仓库主页&#xff1a; Gitee &#x1f4ab; Github &#x1f4ab; GitCode &#x1f496; 欢迎点赞…

数仓建设学习路线(一)

前言 数仓建设实践路线是语兴发布在B站的系列课程&#xff0c;搜索语兴呀即可学习完整的数仓建设理论。 大数据相关岗位 大数据常见的岗位主要包括实时开发、数据治理、数据安全、数据资产等。 其中&#xff1a; 实时开发组的主要任务是实时可视化制作(大屏/彩蛋/战报&…

前端结合MQTT实现连接 订阅发送信息等操作 VUE3

MQTT客户端下载 使用测试 在我之前文章中 MQTT下载基础使用 下面记录一下前端使用的话的操作 1.安装 npm i mqtt引入 import * as mqtt from "mqtt/dist/mqtt.min"; //VUE3 import mqtt from mqtt //VUE2 一、MQTT协议中的方法 Connect。等待与服务器建立连接…