[大資料從入門到放棄系列教程]在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

好了,今天就到這了