Scala環境及IDEA配置
- 2020 年 4 月 8 日
- 筆記
Scala環境及IDEA配置
1 語言介紹
- 他已經出生15年了,就像明星一樣,誰都不可能一開始就人氣爆棚粉絲無數,得慢慢混。
- 成功原因:完全兼容java程式碼。
- 身世介紹
- Scala在2004年正式問世,他的爸爸是Martin Odersky,這位老頭同時也是Genenric Java的爸爸。神不神奇!Scala和Genenric Java居然是親兄弟。
- Scala的全稱叫scalable,可伸縮的意思。說白了就是可以簡單又可以複雜。scala是個純正的面向對象語言,並且具備函數式編程特性,這也是他最吸引人的地方。
- Scala之所以這麼受歡迎還有一個原因,那就是Spark。專為大規模數據處理而設計的快速通用的計算引擎,這正是spark的最好詮釋,關於spark的更多資訊請百度。spark就是Scala編寫的,所以想了解spark的優越性能及應用就必須得學習Scala。
2 下載 Scala
我們可以從 Scala 官網地址 http://www.scala-lang.org/downloads 下載 Scala 二進位包(頁面底部),本教程我們將下載 2.10.5版本,如下圖所示:
3 Windos安裝Scala
-
需要java環境
-
解決windos一定會出的問題:安裝msi 提示2502、2503的錯誤程式碼
- 步驟一:
- 按WIN+R,在運行框中輸入「gpedit.msc」 確認;
- 打開本地策略組編輯器後依次展開 :「電腦配置」-》「管理模板」-》「windows組件」-》「windows installer」,並找到「始終以提升的許可權進行安裝」;
- 雙擊該選項,設置為「已啟用」,並應用;
- 最後我們還要在本地策略組編輯器中的【用戶配置】中進行如上同樣的操作;
-
步驟二:
-
滑鼠移到桌面左下角->右鍵(或者直接: WIN+X鍵),命令提示符(管理員)
-
輸入:msiexec /package +『msi文件路徑』(輸入的時候注意半形字元且路徑不能為中文名)
-
例如:C:Windowssystem32>msiexec /package "F:micsoftscalascala-2.10.5.msi"」
-
- 步驟三:配置環境變數
- 設置 SCALA_HOME 變數:單擊新建,在變數名欄輸入:SCALA_HOME: 變數值一欄輸入:D:Program Files(x86)scala 也就是 Scala 的安裝目錄,根據個人情況有所不同
- 設置 Classpath 變數:找到找到系統變數下的"Classpath"如圖,單擊編輯,如沒有,則單擊"新建":
- "變數名":ClassPath
- "變數值":.;%SCALA_HOME%bin;%SCALA_HOME%libdt.jar;%SCALA_HOME%libtools.jar;
- 注意:"變數值"最前面的 .; 不要漏掉。最後單擊確定即可。
- 設置 Path 變數:找到系統變數下的"Path"如圖,單擊編輯。在"變數值"一欄的最前面添加如下的路徑: %SCALA_HOME%bin;%SCALA_HOME%jrebin;
- 注意:後面的分號 ; 不要漏掉。
4 linux 裝 Scala
-
需要java環境
-
上傳scala的tar包到linux解壓
- 修改環境變數
# 1 修改環境變數 vim /etc/profile # 2 在最後添加如下內容---> #jdk export SCALA_HOME=/usr/local/src/scala-2.10.5 export PATH=$SCALA_HOME/bin:$PATH #---< # 3 更新源 source /etc/profile # 4 測試 scala -version
- Scala 中文亂碼解決
- 在 Scala 2.11.7 版本上,Mac OS X 或 Linux 系統上編譯 Scala 程式碼,如果出現中文,會出現亂碼的情況。
- 解決方案如下,分別編輯以下兩個執行腳本:
vim `which scala` vim `which scalac` #找到: [ -n "$JAVA_OPTS" ] || JAVA_OPTS="-Xmx256M -Xms32M" #將其替換為: [ -n "$JAVA_OPTS" ] || JAVA_OPTS="-Xmx256M -Xms32M -Dfile.encoding=UTF-8"
- 重新編譯腳本,既可以正常顯示中文。
5 idea配置scala
- settings—-plugins
/** * author Heaton * email [email protected] * describe HelloWorld */ object HelloWorld { def main(args: Array[String]): Unit = { println("Hello World") } }
完