开发者社区> 大数据流动> 正文

Scala学习系列(二)——环境安装配置

简介: Scala学习系列(二)——环境安装配置
+关注继续查看

Scala下载地址:https://www.scala-lang.org/download/


一、安装JDK


首先,因为Scala是运行在JVM平台上的,所以安装Scala之前要安装JDK


二、二进制安装方式


我们可以直接用二进制安装Scala 还是下载网址

微信图片_20220526230353.jpg

Windows安装Scala编译器

访问Scala官网http://www.scala-lang.org/下载Scala编译器安装包,下载对应版本的.msi文件后点击下一步就可以了

Linux安装Scala编译器

tar.gz的版本 然后解压Scala到指定目录

tar -zxvf scala-2.13.1.tar.gz -C /usr/java

配置环境变量,将scala加入到PATH中

vi /etc/profile

export JAVA_HOME=/usr/java/jdk1.8

export PATH=$PATH:$JAVA_HOME/bin:/usr/java/scala-2.13.1/bin

使用ScalaREPL

Scala提供了REPL 交互式解释环境

在我们安装好scala 可以直接在命令行输入scala进入

微信图片_20220526230356.png


三、通过Sbt安装Scala


官网推荐通过Sbt安装Scala ,Scala's build tool

1、使用IDEA安装Scala

安装

微信图片_20220526230403.png

创建

打开IntelliJ并单击File => New => Project

微信图片_20220526230406.png微信图片_20220526230409.jpg

在左侧面板上,选择Scala。在右侧面板上,选择“ IDEA”。

微信图片_20220526230409.jpg

将该项目命名为scala-demo

假设这是您第一次使用IntelliJ创建Scala项目,则需要安装Scala SDK。在Scala SDK字段的右侧,单击“ 创建”按钮

选择版本号,然后单击“ 下载”。这可能需要几分钟,但是以后就不用下载了

创建SDK后,您将返回“新建项目”窗口,点击完成

编写代码

在左侧的Project窗格中,右键单击src并选择 New => Scala class

微信图片_20220526230413.png

命名为Hello 类型为Object

微信图片_20220526230416.jpg

编写代码

微信图片_20220526230434.jpg

运行

直接点击剪头或者右键选择Run'Hello'

微信图片_20220526230422.png

成功!

微信图片_20220526230425.jpg

测试

在左侧的项目窗格中,右键单击 src并选择New => Scala Worksheet

微信图片_20220526230428.png

点击运行 成功!

微信图片_20220526230431.jpg

2、使用IDEA SBT开发Scala

上面我们通过Idea安装并运行了Scala的程序 我们已经可以在IDEA中开发Scala了!我们平时的练习与测试完全可以进行了

但是在构建工程时,需要对包版本进行管理,我们最好在IDEA中构建一个标准的Sbt项目

创建

请打开IntelliJ并选择“ Create New Project”

  • 在左侧面板上,选择Scala,在右侧面板上,选择sbt
  • 点击下一步
  • 将项目命名为“ SbtExampleProject”

微信图片_20220526230434.jpg

确保JDK版本为1.8,sbt版本至少为0.13.13

微信图片_20220526230437.jpg

了解目录结构

sbt为我们创建了目录结构

这些都很有用 都是sbt的基本结构

build.properties里记录了sbt.version

build.sbt里记录了 项目名 scalaVersion 等信息 以后我们添加依赖也是在这里

未来我们会仔细介绍

微信图片_20220526230441.jpg

如果项目构建不成功 注意查看本机sbt scala版本是否能对应

报错idea 使用sbt构建工程时错误unresolved dependency: org.scala-sbt#sbt;0.13.8: not found

1.出现场景:在idea中使用sbt构建工程时,使用默认的sbt版本为0.13.8,而我本地安装的sbt版本是0.13.7,所以在仓库中找不到对应的0.13.8包

2.解决:在project中的build.properties中把版本号改成本地安装的版本即可,然后在idea工具栏/Build/make project重新重构一下项目

开发代码
  1. 在左侧的“ 项目”面板上,展开SbtExampleProject=> src =>main
  2. 右键单击scala并选择New => Package
  3. 为软件包命名,example然后单击“ 确定”。
  4. 右键单击该包,example然后选择New => Scala class
  5. 命名为 Hello 选择Object

运行成功

微信图片_20220526230443.jpg

3、使用SCALATEST测试Scala

在build.sbt中引入依赖

libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.8" % "test"

等待依赖下载完成

src=> test 中选择New => Scala class

命名为CubeCalculatorTest

import org.scalatest.FunSuite
 class CubeCalculatorTest extends FunSuite {
   test("CubeCalculator.cube") {
     assert(CubeCalculator.cube(3) === 27)
   }
 }

运行


四、通过命令行使用Sbt构建Scala


首先根据不同的系统安装Sbt

Windows下载地址为https://www.scala-sbt.org/1.x/docs/Installing-sbt-on-Windows.html

创建项目

打开cmd命令行

cd 到一个空文件夹

运行以下命令sbt new scala/hello-world.g8。这将从GitHub中提取“ hello-world”模板。它还将创建一个target文件夹

出现提示时,命名应用程序hello-world。这将创建一个名为“ hello-world”的项目

查看一下生成的目录结构

- hello-world
    - project (sbt uses this to install and manage plugins and dependencies)
        - build.properties
    - src
        - main
            - scala (All of your scala code goes here)
                - Main.scala (Entry point of program) <-- this is all we need for now
    - build.sbt (sbt's build definition file)

随后我们进入项目中 新建文件 输入sbt指令 进入后 run 执行项目


五、Scala Java同时运行


sbt是scala专属的 所以如果我们有scala和java代码同时执行的情况时

需要新建一个maven工程

pom文件写法如下:

<dependencies>
        <dependency>
            <groupId>org.scala-lang</groupId>
            <artifactId>scala-library</artifactId>
            <version>${scala.version}</version>
            <!--<scope>provided</scope>-->
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <!--maven 编译 -->
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.6.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
            <plugin>
                <!-- scala maven 混合开发-->
                <groupId>net.alchim31.maven</groupId>
                <artifactId>scala-maven-plugin</artifactId>
                <version>3.2.2</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>compile</goal>
                            <goal>testCompile</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <version>3.0.0</version>
                    <executions>
                        <execution>
                            <id>make-assembly</id>
                            <phase>package</phase>
                            <goals>
                                <goal>single</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

随后我们新建一个scala文件 然后maven打包

微信图片_20220526230446.png

我们在target下边发现

微信图片_20220526230451.png

可以通过 java -jar Hello.jar或者 scala Hello.jar 运行

至此我们Scala环境已经安装完成,推荐大家还是通过IDEA进行开发工作,不过原理也要理解,特别是部署上线时虽然也可以选择打成jar包 有的时候scala环境还是需要的 下一章 我们正式进入到Scala语法的学习中!

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
如何设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云安全组设置详细图文教程(收藏起来) 阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程。阿里云会要求客户设置安全组,如果不设置,阿里云会指定默认的安全组。那么,这个安全组是什么呢?顾名思义,就是为了服务器安全设置的。安全组其实就是一个虚拟的防火墙,可以让用户从端口、IP的维度来筛选对应服务器的访问者,从而形成一个云上的安全域。
18581 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
27727 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,大概有三种登录方式:
12967 0
阿里云服务器安全组设置内网互通的方法
虽然0.0.0.0/0使用非常方便,但是发现很多同学使用它来做内网互通,这是有安全风险的,实例有可能会在经典网络被内网IP访问到。下面介绍一下四种安全的内网互联设置方法。 购买前请先:领取阿里云幸运券,有很多优惠,可到下文中领取。
21933 0
阿里云服务器ECS登录用户名是什么?系统不同默认账号也不同
阿里云服务器Windows系统默认用户名administrator,Linux镜像服务器用户名root
15291 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
19980 0
腾讯云服务器 设置ngxin + fastdfs +tomcat 开机自启动
在tomcat中新建一个可以启动的 .sh 脚本文件 /usr/local/tomcat7/bin/ export JAVA_HOME=/usr/local/java/jdk7 export PATH=$JAVA_HOME/bin/:$PATH export CLASSPATH=.
14852 0
122
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载