Idea中添加Maven项目支持scala的详细步骤

 更新时间:2023年03月03日 11:59:39   作者:宜家数据小哥  
这篇文章主要介绍了Idea中添加Maven项目支持scala,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

一、Scala环境搭建

1、安装步骤

  (1)首先确保jdk1.8安装成功

  (2)下载对应的Scala安装文件scala-2.11.8.zip,下载地址:https://pan.baidu.com/s/1D7KxZOLZReXK46LNo_jiGA  提取码:l4s1

  (3)解压scala-2.11.8.zip,我这里解压到C:\workspace\root\scala-2.12.10

  (4)配置Scala的环境变量

2、测试,在cmd窗口输入scala,定义两个变量a1和a2,并计算两个变量的和

二、Scala插件安装

  默认情况下IDEA不支持Scala的开发,需要安装Scala插件。

1、插件离线安装步骤

  (1)建议将该插件scala-intellij-bin-2019.2.1.zip文件,放到Scala的安装目录C:\workspace\root\scala-2.12.10下,方便管理。而我这里放在C:\workspace\root\Plugin\Scala

  (2)将插件安装到idea

  (3)先找到安装插件位置file->setting...,找到 Plugins

  (4)选择在磁盘中找到插件:Install Plugin from Disk 选项,并点击它

  (5)选择插件所在的位置,点击OK即可(注意,在选择插件的时候一定要选择与Idea兼容的版本,不然会报错,版本选择地址:https://plugins.jetbrains.com/plugin/1347-scala/versions)

2、插件在线安装(可选),输入 scala 即可在线安装,我这里已经安装过了就不安装了

3、点击ok->apply ->重启idea即可(新建选项中出现Scala Class即为插件安装成功)

4、子工程支持scala

三、HelloWorld案例

1、IDEA环境创建

  (1)file->new project ->选择Maven

  (2)添加包名和项目名称

  (3)指定项目工作目录空间

  (4)默认下,maven不支持Scala的开发,需要引入Scala框架

  (5)找到 Global Libraries 选项,点击上方的加号按钮,加入Scala的SDK

  (6)点击 Browse 按钮,选择你的Scala 的SDK路径,我的路径是C:\workspace\root\scala-2.12.10,选择之后点击OK 即可

  (7)创建项目的源文件目录,右键main目录->创建一个diretory ->写个名字(比如scala)->右键scala目录->mark directory ->选择source root即可。

  (8)在scala包下,创建包com.yuange.scala.day01包名,并创建Object。

  (9)编写输出Helloscala案例,在类中中输入main,然后回车可以快速生成main方法。

package com.yuange.scala.day01

object HelloWord {
  def main(args: Array[String]): Unit = {
    println("hellword");

    var age:Int = 20
    println(age)

  }
}

    运行后,就可以看到输出


  (10)Scala程序基本结构

class Hello {
  /*
  定义变量:
  val/var 变量名:变量类型 = 变量值
  */
  val a: Int = 1

  /*
  定义方法:
  def 函数名(参数名:参数类型):返回值类型={方法体}
  */
  def hello(arg: String): Unit = {
    println(arg)
  }
}
object Hello {
  /*
  Scala程序的入口
  */
  def main(args: Array[String]): Unit = {
    println("hello,scala")
  }

  /*
  完全面向对象:scala完全面向对象,故scala去掉了java中非面向对象的元素,如static关键字,void类型
  1.static
  scala无static关键字,由object实现类似静态方法的功能(类名.方法名),object关键字和class的关键字定义方式相同,但作用不同。class关键字和java中的class关键字作用相同,用来定义一个类;object的作用是声明一个单例对象,object后的“类名”可以理解为该单例对象的变量名。
  2.void
  对于无返回值的函数,scala定义其返回值类型为Unit类
  */
}

2、开发注意事项

  (1)Scala源文件以“.scala"为扩展名。

  (2)Scala程序的执行入口是object中的main()函数。

  (3)Scala语言严格区分大小写。

  (4)Scala方法由一条条语句构成,每个语句后不需要分号(Scala语言会在每行后自动加分号)。(至简原则)

  (5)如果在同一行有多条语句,除了最后一条语句不需要分号,其它语句需要分号。

四、关联Scala源码

  在使用Scala过程中,为了搞清楚Scala底层的机制,需要查看源码,下面看看如何在Idea中关联和查看Scala的源码包。

1、查看源码,选择要查看的方法或者类,输入ctrl + b

2、关联源码

  步骤1:将我们的源码压缩包scala-2.12.10.tar.gz解压到C:\workspace\root\scala-2.12.10\src,然后在idea中点击 Choose Sources 选项,找到scala-2.12.10,点击OK即可

  步骤2:将scala-2.12.10拷贝到C:\workspace\root\scala-2.12.10\lib文件夹下,点击OK即可

五、官方编程指南

  查看scala-docs-2.11.8文档,可以获得Scala的API操作。官网下载地址:https://www.scala-lang.org/download/2.11.8.html

到此这篇关于Idea中添加Maven项目支持scala的文章就介绍到这了,更多相关Idea中添加Maven内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Springboot手动连接库并获取指定表结构的示例代码

    Springboot手动连接库并获取指定表结构的示例代码

    这篇文章主要介绍了Springboot手动连接库并获取指定表结构的示例代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07
  • SpringBoot中ApplicationEvent和ApplicationListener用法小结

    SpringBoot中ApplicationEvent和ApplicationListener用法小结

    这篇文章介绍SpringBoot中ApplicationEvent用法,注意ApplicationEvent和MQ队列虽然实现的功能相似,但是MQ还是有其不可替代性的,最本质的区别就是MQ可以用于不同系统之间的消息发布,而SpringEvent这种模式只能在一个系统中,需要的朋友可以参考下
    2023-03-03
  • springboot连接不同数据库的写法详解

    springboot连接不同数据库的写法详解

    这篇文章主要介绍了springboot连接不同数据库的写法 ,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-04-04
  • SpringBoot排除自动加载数据源方式

    SpringBoot排除自动加载数据源方式

    这篇文章主要介绍了SpringBoot排除自动加载数据源方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • java 多线程死锁详解及简单实例

    java 多线程死锁详解及简单实例

    这篇文章主要介绍了java 多线程死锁详解及简单实例的相关资料,需要的朋友可以参考下
    2017-01-01
  • 详解用JWT对SpringCloud进行认证和鉴权

    详解用JWT对SpringCloud进行认证和鉴权

    这篇文章主要介绍了详解用JWT对SpringCloud进行认证和鉴权,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • Java中的读写锁ReentrantReadWriteLock源码分析

    Java中的读写锁ReentrantReadWriteLock源码分析

    这篇文章主要介绍了Java中的读写锁ReentrantReadWriteLock源码分析,ReentrantReadWriteLock 分为读锁和写锁两个实例,读锁是共享锁,可被多个线程同时使用,写锁是独占锁,持有写锁的线程可以继续获取读锁,反之不行,需要的朋友可以参考下
    2023-12-12
  • Java8通过CompletableFuture实现异步回调

    Java8通过CompletableFuture实现异步回调

    这篇文章主要介绍了Java8通过CompletableFuture实现异步回调,CompletableFuture是Java 8 中新增的一个类,它是对Future接口的扩展,下文关于其更多相关详细介绍需要的小伙伴可以参考一下
    2022-04-04
  • 使用Java8实现观察者模式的方法(上)

    使用Java8实现观察者模式的方法(上)

    本文给大家介绍使用java8实现观察者模式的方法,涉及到java8观察者模式相关知识,对此感兴趣的朋友一起学习吧
    2016-02-02
  • 如何用java编写一个rmi

    如何用java编写一个rmi

    RMI能让一个Java程序去调用网络中另一台计算机的Java对象的方法,那么调用的效果就像是在本机上调用一样。下面我们来详细了解一下吧
    2019-06-06

最新评论