[大資料從入門到放棄系列教程]在IDEA的Java專案裡,配置並加入Scala,寫出並執行scala的hello world
原文連結:http://www.cnblogs.com/blog5277/p/8615984.html
原文作者:部落格園--曲高終和寡
點選下面選單檢視大資料入門全部教程
網址:
http://www.cnblogs.com/blog5277/category/1179528.html
**********************************分割***********************************
其實按理說,Java專案是完全可以開發spark專案的,並不是一定需要scala來開發.
但是天不遂人願,新專案裡面用到了supermap的元件,他們的元件對scala支援的更好一點,就表現在,用scala的話,某函式的入口引數只有兩個
但是用java的話就有4個
然後我還完全不知道這些引數指的是啥,
那沒辦法,只能換scala了(再加上spark就是基於scala開發的,技多不壓身,學一學唄)
萬萬沒想到,我在用IDEA在整合scala的時候,遇到了這麼多坑(部分是因為我自己對scala的認知不夠)
下面進入正題:
**********************************分割***********************************
一.下載IDEA的scala外掛
1.個人推薦方式:
在IDEA-->設定-->外掛-->搜尋scala-->在倉庫裡找-->往下面翻一點,找到scala,看一下對應的版本號,記住這個版本號
然後在:
http://plugins.jetbrains.com/plugin/1347-scala
去這裡下載對應的版本(下載完的zip不要解壓縮):
經過非常非常漫長的下載....下載完了之後返回IDEA,在設定頁面選擇新增本地的外掛:
選擇你剛剛下載完的zip,新增,apply一下,確定就可以了,IDEA會提示你重啟idea生效,你重啟一下,外掛就裝完了.
2.不太推薦的方式...在idea-->設定-->外掛-->搜尋scala-->在倉庫中搜索這裡,其實可以直接安裝的...
明明這麼方便,我為啥不推薦呢...因為在國內,這個外掛的下載速度也太慢了...還很容易失敗(方法一也巨慢無比,但是畢竟是用瀏覽器/迅雷下的,不會失敗,失敗了也會斷點續傳),而在這裡,極其容易失敗...
開$$走PAC/全域性代理/V屁N的方法我都試了,並不能加快下載速度,讓人絕望...
二,開始scala的hello world
1.在專案上,右鍵,新增框架支援,選中出現的Scala
2.(這一項是可選項,還是建議選的)在maven里加入scala相關的jar包和編譯元件外掛
這裡引用了 菩提樹下的楊過 大神的教程
https://www.cnblogs.com/yjmyzz/p/4694219.html
<dependencies>
<!-- https://mvnrepository.com/artifact/org.apache.spark/spark-core -->
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.11</artifactId>
<version>2.3.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.scala-lang/scala-library -->
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>2.12.4</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.scala-lang/scala-compiler -->
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-compiler</artifactId>
<version>2.12.4</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.scala-lang/scala-reflect -->
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-reflect</artifactId>
<version>2.12.4</version>
</dependency> </dependencies> <build>
<plugins>
<plugin>
<groupId>org.scala-tools</groupId>
<artifactId>maven-scala-plugin</artifactId>
<version>2.15.2</version>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
3.在專案main下,和java同一級,新建個資料夾叫scala,你在這個檔案下下就可以新建scala專案了
4.這裡介紹2種執行scala專案的方式,這裡困擾了我好久...
5.用java方式呼叫
新建scala檔案,用預設的方式建class檔案,如下圖:
在新建出來的scala檔案裡面,按 command + j (windows下應該是alt吧...不行就試試ctrl),或者手動照著下面敲也可以
輸完後面的程式碼:
這個時候你會發現你執行不了...:
點它會出現控制檯,然而這會你什麼語法都不會..
所以沒辦法了,新建一個java檔案來執行scala檔案吧,可別忘了,scala也是jvm語言,再加上kotlin,這倆語言可是號稱能和java專案"無縫銜接"的,scala專案當然能用java來運行了,如下圖:
就把scala當一個java的類去調就行了,還是很方便的...的....吧...
6.直接執行scala檔案
然而scala其實也有自己的執行方式,這點在建立檔案的時候你要選擇,不要用預設的class,要用object...(或者你把上面的class改成object也可以)
這樣的話這裡就有執行選項啦,注意區別,這裡是object
好了,今天就到這了