Idea中添加Maven項(xiàng)目支持scala的詳細(xì)步驟
一、Scala環(huán)境搭建
1、安裝步驟
?。?)首先確保jdk1.8安裝成功
?。?)下載對(duì)應(yīng)的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
?。?)配置Scala的環(huán)境變量
2、測(cè)試,在cmd窗口輸入scala,定義兩個(gè)變量a1和a2,并計(jì)算兩個(gè)變量的和
二、Scala插件安裝
默認(rèn)情況下IDEA不支持Scala的開發(fā),需要安裝Scala插件。
1、插件離線安裝步驟
(1)建議將該插件scala-intellij-bin-2019.2.1.zip文件,放到Scala的安裝目錄C:\workspace\root\scala-2.12.10下,方便管理。而我這里放在C:\workspace\root\Plugin\Scala
?。?)將插件安裝到idea
(3)先找到安裝插件位置file->setting...,找到 Plugins
(4)選擇在磁盤中找到插件:Install Plugin from Disk 選項(xiàng),并點(diǎn)擊它
(5)選擇插件所在的位置,點(diǎn)擊OK即可(注意,在選擇插件的時(shí)候一定要選擇與Idea兼容的版本,不然會(huì)報(bào)錯(cuò),版本選擇地址:https://plugins.jetbrains.com/plugin/1347-scala/versions)
2、插件在線安裝(可選),輸入 scala 即可在線安裝,我這里已經(jīng)安裝過(guò)了就不安裝了
3、點(diǎn)擊ok->apply ->重啟idea即可(新建選項(xiàng)中出現(xiàn)Scala Class即為插件安裝成功)
4、子工程支持scala
三、HelloWorld案例
1、IDEA環(huán)境創(chuàng)建
?。?)file->new project ->選擇Maven
?。?)添加包名和項(xiàng)目名稱
?。?)指定項(xiàng)目工作目錄空間
(4)默認(rèn)下,maven不支持Scala的開發(fā),需要引入Scala框架
?。?)找到 Global Libraries 選項(xiàng),點(diǎn)擊上方的加號(hào)按鈕,加入Scala的SDK
?。?)點(diǎn)擊 Browse 按鈕,選擇你的Scala 的SDK路徑,我的路徑是C:\workspace\root\scala-2.12.10,選擇之后點(diǎn)擊OK 即可
(7)創(chuàng)建項(xiàng)目的源文件目錄,右鍵main目錄->創(chuàng)建一個(gè)diretory ->寫個(gè)名字(比如scala)->右鍵scala目錄->mark directory ->選擇source root即可。
?。?)在scala包下,創(chuàng)建包c(diǎn)om.yuange.scala.day01包名,并創(chuàng)建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) } }
運(yùn)行后,就可以看到輸出
?。?0)Scala程序基本結(jié)構(gòu)
class Hello { /* 定義變量: val/var 變量名:變量類型 = 變量值 */ val a: Int = 1 /* 定義方法: def 函數(shù)名(參數(shù)名:參數(shù)類型):返回值類型={方法體} */ def hello(arg: String): Unit = { println(arg) } }
object Hello { /* Scala程序的入口 */ def main(args: Array[String]): Unit = { println("hello,scala") } /* 完全面向?qū)ο螅簊cala完全面向?qū)ο?,故scala去掉了java中非面向?qū)ο蟮脑?,如static關(guān)鍵字,void類型 1.static scala無(wú)static關(guān)鍵字,由object實(shí)現(xiàn)類似靜態(tài)方法的功能(類名.方法名),object關(guān)鍵字和class的關(guān)鍵字定義方式相同,但作用不同。class關(guān)鍵字和java中的class關(guān)鍵字作用相同,用來(lái)定義一個(gè)類;object的作用是聲明一個(gè)單例對(duì)象,object后的“類名”可以理解為該單例對(duì)象的變量名。 2.void 對(duì)于無(wú)返回值的函數(shù),scala定義其返回值類型為Unit類 */ }
2、開發(fā)注意事項(xiàng)
?。?)Scala源文件以“.scala"為擴(kuò)展名。
(2)Scala程序的執(zhí)行入口是object中的main()函數(shù)。
?。?)Scala語(yǔ)言嚴(yán)格區(qū)分大小寫。
?。?)Scala方法由一條條語(yǔ)句構(gòu)成,每個(gè)語(yǔ)句后不需要分號(hào)(Scala語(yǔ)言會(huì)在每行后自動(dòng)加分號(hào))。(至簡(jiǎn)原則)
?。?)如果在同一行有多條語(yǔ)句,除了最后一條語(yǔ)句不需要分號(hào),其它語(yǔ)句需要分號(hào)。
四、關(guān)聯(lián)Scala源碼
在使用Scala過(guò)程中,為了搞清楚Scala底層的機(jī)制,需要查看源碼,下面看看如何在Idea中關(guān)聯(lián)和查看Scala的源碼包。
1、查看源碼,選擇要查看的方法或者類,輸入ctrl + b
2、關(guān)聯(lián)源碼
步驟1:將我們的源碼壓縮包scala-2.12.10.tar.gz解壓到C:\workspace\root\scala-2.12.10\src,然后在idea中點(diǎn)擊 Choose Sources 選項(xiàng),找到scala-2.12.10,點(diǎn)擊OK即可
步驟2:將scala-2.12.10拷貝到C:\workspace\root\scala-2.12.10\lib文件夾下,點(diǎn)擊OK即可
五、官方編程指南
查看scala-docs-2.11.8文檔,可以獲得Scala的API操作。官網(wǎng)下載地址:https://www.scala-lang.org/download/2.11.8.html
到此這篇關(guān)于Idea中添加Maven項(xiàng)目支持scala的文章就介紹到這了,更多相關(guān)Idea中添加Maven內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Springboot手動(dòng)連接庫(kù)并獲取指定表結(jié)構(gòu)的示例代碼
這篇文章主要介紹了Springboot手動(dòng)連接庫(kù)并獲取指定表結(jié)構(gòu)的示例代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-07-07SpringBoot中ApplicationEvent和ApplicationListener用法小結(jié)
這篇文章介紹SpringBoot中ApplicationEvent用法,注意ApplicationEvent和MQ隊(duì)列雖然實(shí)現(xiàn)的功能相似,但是MQ還是有其不可替代性的,最本質(zhì)的區(qū)別就是MQ可以用于不同系統(tǒng)之間的消息發(fā)布,而SpringEvent這種模式只能在一個(gè)系統(tǒng)中,需要的朋友可以參考下2023-03-03springboot連接不同數(shù)據(jù)庫(kù)的寫法詳解
這篇文章主要介紹了springboot連接不同數(shù)據(jù)庫(kù)的寫法?,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-04-04SpringBoot排除自動(dòng)加載數(shù)據(jù)源方式
這篇文章主要介紹了SpringBoot排除自動(dòng)加載數(shù)據(jù)源方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05詳解用JWT對(duì)SpringCloud進(jìn)行認(rèn)證和鑒權(quán)
這篇文章主要介紹了詳解用JWT對(duì)SpringCloud進(jìn)行認(rèn)證和鑒權(quán),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03Java中的讀寫鎖ReentrantReadWriteLock源碼分析
這篇文章主要介紹了Java中的讀寫鎖ReentrantReadWriteLock源碼分析,ReentrantReadWriteLock 分為讀鎖和寫鎖兩個(gè)實(shí)例,讀鎖是共享鎖,可被多個(gè)線程同時(shí)使用,寫鎖是獨(dú)占鎖,持有寫鎖的線程可以繼續(xù)獲取讀鎖,反之不行,需要的朋友可以參考下2023-12-12Java8通過(guò)CompletableFuture實(shí)現(xiàn)異步回調(diào)
這篇文章主要介紹了Java8通過(guò)CompletableFuture實(shí)現(xiàn)異步回調(diào),CompletableFuture是Java?8?中新增的一個(gè)類,它是對(duì)Future接口的擴(kuò)展,下文關(guān)于其更多相關(guān)詳細(xì)介紹需要的小伙伴可以參考一下2022-04-04使用Java8實(shí)現(xiàn)觀察者模式的方法(上)
本文給大家介紹使用java8實(shí)現(xiàn)觀察者模式的方法,涉及到j(luò)ava8觀察者模式相關(guān)知識(shí),對(duì)此感興趣的朋友一起學(xué)習(xí)吧2016-02-02