? ? 做了好多嘗試苦始,最后放棄了ECLIPSE開發(fā)SCALA坎匿,決定用IDEA年扩,當然激活碼百度下即可以找到蚁廓。
安裝SCALA SDK:我是用的2.10.6,因為配合自己的集群scala版本而已厨幻,學習SCALA相嵌,隨便安裝個就好了。配置SCALA_HOME就可以了(可以百度下)况脆。
如下圖:
然后運行scala -version 就可以了平绩,會java的和JAVA_HOME配置一樣,而且簡單漠另。
效果圖在下方:
為了JAR包依賴方便捏雌,咱們得用MAVEN,導入和build工程笆搓,手動導入jar的時代過去了性湿,幾十個jar萬一版本搞錯會死人的。當然工作環(huán)境遇到過網(wǎng)絡要用代理满败,本來MAVEN可以配置代理訪問肤频,可是死活不行,沒辦法自己配置了個nexus的私服算墨,然后設置代理訪問阿里mavne庫就可以了宵荒,nexus私服搭建有空總結吧。先把阿里MAVEN庫地址貼出來吧,如下:
速度刷刷的报咳。再也不用翻墻去國外網(wǎng)絡了侠讯。
JDK自然要安裝好,過于簡單暑刃,這里不說了厢漩,可以百度吧。
idea安裝:?一路NEXT最后啟動就可以了岩臣。
至于建立maven的scala工程溜嗜,參照了http://www.reibang.com/p/ecc6eb298b8f的文章,寫的很詳細架谎。我簡單抄寫到這里炸宵。并做些備注吧。
利用IntelliJ IDEA與Maven開始你的Scala之旅
一. IntelliJ IDEA安裝及配置
1.1 IntelliJ IDEA下載及安裝
首先在CHOOSE YOUR EDITION這里選擇Community版本谷扣,這個版本是免費提供的焙压,對我們的Spark使用來說,用這個版本已經(jīng)足夠了抑钟。如下圖所示:
直接點擊黑色的DOWNLOAD按鈕會默認開始下載Windows版本的IntelliJ IDEA涯曲,如果需要其他平臺的版本,可以點擊旁邊的.EXE在塔,然后在打開的下拉菜單中幻件,選擇相應平臺即可。
如果你下載了收費版蛔溃,那么收費版激活碼如下:
注冊碼有效期為2016年11月24日至2017年11月23日绰沥。
BIG3CLIK6F-eyJsaWNlbnNlSWQiOiJCSUczQ0xJSzZGIiwibGljZW5zZWVOYW1lIjoibGFuIHl1IiwiYXNzaWduZWVOYW1lIjoiIiwiYXNzaWduZWVFbWFpbCI6IiIsImxpY2Vuc2VSZXN0cmljdGlvbiI6IkZvciBlZHVjYXRpb25hbCB1c2Ugb25seSIsImNoZWNrQ29uY3VycmVudFVzZSI6ZmFsc2UsInByb2R1Y3RzIjpbeyJjb2RlIjoiQUMiLCJwYWlkVXBUbyI6IjIwMTctMTEtMjMifSx7ImNvZGUiOiJETSIsInBhaWRVcFRvIjoiMjAxNy0xMS0yMyJ9LHsiY29kZSI6IklJIiwicGFpZFVwVG8iOiIyMDE3LTExLTIzIn0seyJjb2RlIjoiUlMwIiwicGFpZFVwVG8iOiIyMDE3LTExLTIzIn0seyJjb2RlIjoiV1MiLCJwYWlkVXBUbyI6IjIwMTctMTEtMjMifSx7ImNvZGUiOiJEUE4iLCJwYWlkVXBUbyI6IjIwMTctMTEtMjMifSx7ImNvZGUiOiJSQyIsInBhaWRVcFRvIjoiMjAxNy0xMS0yMyJ9LHsiY29kZSI6IlBTIiwicGFpZFVwVG8iOiIyMDE3LTExLTIzIn0seyJjb2RlIjoiREMiLCJwYWlkVXBUbyI6IjIwMTctMTEtMjMifSx7ImNvZGUiOiJEQiIsInBhaWRVcFRvIjoiMjAxNy0xMS0yMyJ9LHsiY29kZSI6IlJNIiwicGFpZFVwVG8iOiIyMDE3LTExLTIzIn0seyJjb2RlIjoiUEMiLCJwYWlkVXBUbyI6IjIwMTctMTEtMjMifSx7ImNvZGUiOiJDTCIsInBhaWRVcFRvIjoiMjAxNy0xMS0yMyJ9XSwiaGFzaCI6IjQ3NzU1MTcvMCIsImdyYWNlUGVyaW9kRGF5cyI6MCwiYXV0b1Byb2xvbmdhdGVkIjpmYWxzZSwiaXNBdXRvUHJvbG9uZ2F0ZWQiOmZhbHNlfQ==-iygsIMXTVeSyYkUxAqpHmymrgwN5InkOfeRhhPIPa88FO9FRuZosIBTY18tflChACznk3qferT7iMGKm7pumDTR4FbVVlK/3n1ER0eMKu2NcaXb7m10xT6kLW1Xb3LtuZEnuis5pYuEwT1zR7GskeNWdYZ0dAJpNDLFrqPyAPo5s1KLDHKpw+VfVd4uf7RMjOIzuJhAAYAG+amyivQt61I9aYiwpHQvUphvTwi0X0qL/oDJHAQbIv4Qwscyo4aYZJBKutYioZH9rgOP6Yw/sCltpoPWlJtDOcw/iEWYiCVG1pH9AWjCYXZ9AbbEBOWV71IQr5VWrsqFZ7cg7hLEJ3A==-MIIEPjCCAiagAwIBAgIBBTANBgkqhkiG9w0BAQsFADAYMRYwFAYDVQQDDA1KZXRQcm9maWxlIENBMB4XDTE1MTEwMjA4MjE0OFoXDTE4MTEwMTA4MjE0OFowETEPMA0GA1UEAwwGcHJvZDN5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxcQkq+zdxlR2mmRYBPzGbUNdMN6OaXiXzxIWtMEkrJMO/5oUfQJbLLuMSMK0QHFmaI37WShyxZcfRCidwXjot4zmNBKnlyHodDij/78TmVqFl8nOeD5+07B8VEaIu7c3E1N+e1doC6wht4I4+IEmtsPAdoaj5WCQVQbrI8KeT8M9VcBIWX7fD0fhexfg3ZRt0xqwMcXGNp3DdJHiO0rCdU+Itv7EmtnSVq9jBG1usMSFvMowR25mju2JcPFp1+I4ZI+FqgR8gyG8oiNDyNEoAbsR3lOpI7grUYSvkB/xVy/VoklPCK2h0f0GJxFjnye8NT1PAywoyl7RmiAVRE/EKwIDAQABo4GZMIGWMAkGA1UdEwQCMAAwHQYDVR0OBBYEFGEpG9oZGcfLMGNBkY7SgHiMGgTcMEgGA1UdIwRBMD+AFKOetkhnQhI2Qb1t4Lm0oFKLl/GzoRykGjAYMRYwFAYDVQQDDA1KZXRQcm9maWxlIENBggkA0myxg7KDeeEwEwYDVR0lBAwwCgYIKwYBBQUHAwEwCwYDVR0PBAQDAgWgMA0GCSqGSIb3DQEBCwUAA4ICAQC9WZuYgQedSuOc5TOUSrRigMw4/+wuC5EtZBfvdl4HT/8vzMW/oUlIP4YCvA0XKyBaCJ2iX+ZCDKoPfiYXiaSiH+HxAPV6J79vvouxKrWg2XV6ShFtPLP+0gPdGq3x9R3+kJbmAm8w+FOdlWqAfJrLvpzMGNeDU14YGXiZ9bVzmIQbwrBA+c/F4tlK/DV07dsNExihqFoibnqDiVNTGombaU2dDup2gwKdL81ua8EIcGNExHe82kjF4zwfadHk3bQVvbfdAwxcDy4xBjs3L4raPLU3yenSzr/OEur1+jfOxnQSmEcMXKXgrAQ9U55gwjcOFKrgOxEdek/Sk1VfOjvS+nuM4eyEruFMfaZHzoQiuw4IqgGc45ohFH0UUyjYcuFxxDSU9lMCv8qdHKm+wnPRb0l9l5vXsCBDuhAGYD6ss+Ga+aDY6f/qXZuUCEUOH3QUNbbCUlviSz6+GiRnt1kA9N2Qachl+2yBfaqUqr8h7Z2gsx5LcIf5kYNsqJ0GavXTVyWh7PYiKX4bs354ZQLUwwa/cG++2+wNWP+HtBhVxMRNTdVhSm38AknZlD+PTAsWGu9GyLmhti2EnVwGybSD2Dxmhxk3IPCkhKAK+pl0eWYGZWG3tJ9mZ7SowcXLWDFAk0lRJnKGFMTggrWjV8GYpw5bq23VmIqqDLgkNzuoog==
下載完成后,雙擊得到的.exe文件贺待,開始進行安裝徽曲,其中所有選項按照默認的即可(其中有一個安裝路徑的配置,按照普通軟件安裝的方法自行設置即可麸塞,當然使用默認的路徑也可以秃臣,記住這里的安裝路徑,后面要用到)哪工,一路點擊Next奥此,最后點擊Finish按鈕結束安裝過程。
默認情況下雁比,IntelliJ IDEA并不會在桌面上創(chuàng)建快捷鍵稚虎,我們可以去它的安裝目錄下的bin文件夾中,找到它的可執(zhí)行.exe文件偎捎,我這里的bin文件夾路徑是C:\Program Files (x86)\JetBrains\IntelliJ IDEA Community Edition 2016.2.1\bin蠢终,在該目錄下序攘,你可以找到兩個如下的文件:
idea.exe//對應32位機器idea64.exe//對應64位機器
根據(jù)自己電腦是32位還是64位的,進行相應版本的選擇寻拂,如果怕麻煩程奠,建議在該文件上點擊右鍵,然后選擇發(fā)送到-->桌面快捷方式選項兜喻,這樣以后在啟動的時候梦染,直接在桌面上雙擊快捷方式即可(如果是細心的讀者赡麦,其實可以發(fā)現(xiàn)朴皆,在IDEA安裝過程中,其中有一個步驟就是問:需不需要在桌面上創(chuàng)建快捷方式辉哥,默認下是不會創(chuàng)建的)缭黔。
選擇好32位還是64位的文件后宴胧,然后雙擊運行IntelliJ IDEA,一般來說首次運行扒接,都會碰到如下頁面:
因為IntelliJ IDEA本身都會有一些配置文件,所以這里在詢問是否需要導入一個配置文件们衙,這里選擇圖中標示的選項即可钾怔,并點擊OK。然后來到如下所示的UI主題選擇界面蒙挑,大多數(shù)使用IntelliJ IDEA的開發(fā)人員宗侦,一般都會毫無例外的選用第二個UI,這種灰黑色的主題簡潔大方忆蚀,給人一種深邃的質感矾利,也確實是很多人選擇IntelliJ IDEA的一個重要原因之一,用很多人的話說馋袜,寫代碼都能寫出“高潮”來男旗,是否屬實,你們試試就知道了欣鳖。
1.2 Scala插件的安裝
后續(xù)的幾個頁面按照默認的配置即可察皇,一直Next來到下面的界面。因為我們主要用Scala來寫Spark程序泽台,而IntelliJ IDEA需要使用Scala插件來支持Scala让网,安裝方法如下圖所示,首先點擊Configure师痕,然后點擊下拉菜單中的Plugins溃睹。
隨后打開的頁面會顯示出IntelliJ IDEA當前已安裝的插件列表,現(xiàn)在我們要安裝Scala插件胰坟,所以點擊頁面左下方的Install JetBrains plugin...按鈕因篇,然后來到安裝插件的頁面泞辐,如果網(wǎng)絡正常的話,在頁面左上方的搜索框內搜索"scala"竞滓,即可出現(xiàn)Scala插件的安裝界面咐吼,點擊右側頁面中的Install進行安裝后,可以看到安裝的進度條商佑,如下圖所示:
但是如果你在公司內網(wǎng)锯茄,這個時候你可能需要配置代理,步驟如下圖所示茶没,在圖中的Host name和Port number中填寫公司自己的代理即可肌幽,如果需要,在下方的賬號和密碼框中按情況填寫上相應信息抓半。填寫完畢喂急,記得先檢查一下是否能夠正確連上外部網(wǎng)絡,可以點擊圖中的Check connection笛求,輸入一個外網(wǎng)的地址廊移,比如https://www.baidu.com/,測試一下代理是否正確配置了探入。一切正常后狡孔,點擊OK退出即可。然后按照上一步中不需要配置代理的情況下蜂嗽,進行Scala插件的安裝苗膝。
注意:插件安裝完了之后,記得重啟一下IntelliJ IDEA使得插件能夠生效徒爹。
1.3 全局JDK和Library的設置
因為Scala代碼的編寫需要依賴JDK荚醒,并且以后編寫Spark的程序,肯定會用到各種外部Jar包隆嗅,如果自己手動去下載這些Jar包然后再引入項目界阁,不僅費時費力,而且尤其在多人協(xié)作開發(fā)一個項目的時候胖喳,各種Jar包版本的管理將會變得非撑萸混亂,因此丽焊,在這里建議:從一開始就習慣來用Maven對項目依賴到的Jar包進行理(后面會講到Maven)较剃,然而在創(chuàng)建Maven工程的時候,首先便需要指定JDK技健。
因此為了后續(xù)創(chuàng)建Spark項目(正如上面所說写穴,一方面是Scala本身需要依賴JDK,另一方面用來管理項目構建的Maven雌贱,其創(chuàng)建也需要依賴JDK)的時候不用每次都去配置JDK啊送,這里先進行一次全局配置偿短。首先在歡迎界面點擊Configure,然后在Project Defaults的下拉菜單中選擇Project Structure馋没,如下圖所示:
然后在打開的Default Project Structure界面的左側邊欄選擇Project昔逗,在右側打開的頁面中創(chuàng)建一個新的JDK選項(一定要本機已經(jīng)安裝過JDK了),如下圖所示步驟在下拉菜單中點擊JDK后篷朵,在打開的對話框中選擇你所安裝JDK的位置勾怒,注意是JDK安裝的根目錄,不是bin文件夾的目錄声旺,如果你對上一篇文章中講到的JAVA_HOME還很有印象的話笔链,這里的目錄就是JAVA_HOME中設置的目錄。
這一步的全局Project JDK設置完畢后艾少,回到歡迎頁面卡乾。
除了要依賴JDK之外翼悴,Scala的編寫肯定也離開不了自身的SDK(全稱為Software Development Kit缚够,即軟件開發(fā)工具包。實際上鹦赎,JDK就是Java的SDK)谍椅,我們在IntelliJ IDEA編寫Scala的程序的時候,比如要用到Scala自身提供的某個類古话,比如Seq(暫時不知道不要緊雏吭,后續(xù)文章會講到),那IntelliJ IDEA到哪里去找這個Seq呢陪踩?只能去Scala自身提供的SDK里面去找杖们,因此各種程序語言的軟件開發(fā)者,是離不開這些語言的SDK的肩狂,Scala也自然不例外摘完。而為了避免每次創(chuàng)建一個Scala工程的時候,都要去設置一遍Scala的SDK傻谁,這里做一些全局配置孝治,主要是將Scala SDK引入到項目的Library中,并將其當做默認配置审磁。
首先谈飒,在歡迎頁面的右下角點擊Configure,然后在Project Defaults的下拉菜單中選擇Project Structure态蒂,在打開的頁面左側選擇Global Libraries杭措,然后在中間一欄中有一個綠色的加號標志+,點擊后在下拉菜單中選擇Scala SDK(如果沒有的話钾恢,回顧上面的步驟手素,仔細觀察一下是不是有哪些步驟錯了吕喘,比如Scala的插件沒安裝成功,本機還未安裝Scala刑桑,亦或者Scala的bin文件夾路徑未能添加到系統(tǒng)的PATH環(huán)境變量中去等等)氯质,然后在打開的對話框中選擇系統(tǒng)本身所安裝的Scala(即System對應的版本),點擊OK確定祠斧,這時候會在中間一欄位置處出現(xiàn)Scala的SDK闻察,在其上右鍵點擊后選擇Copy to Project Libraries...,這個操作是為了將Scala SDK添加到項目的默認Library中去琢锋。整個流程如下面的動圖所示辕漂。
二. 創(chuàng)建一個Maven工程
2.1 創(chuàng)建Maven工程
上面的安裝和配置都完成后,現(xiàn)在可以開始創(chuàng)建一個Maven工程了吴超。
在歡迎界面點擊Create New Project钉嘹,在打開的頁面左側邊欄中,選擇Maven鲸阻,然后在右側的Project SDK一項中跋涣,查看是否是正確的JDK配置項(如果每一步嚴格按照上文中的步驟操作的話,正常來說這一欄會自動填充的鸟悴,因為我們之前在1.3中已經(jīng)配置過了全局的Project JDK了陈辱,如果這里沒有正常顯示JDK的話,可以點擊右側的New...按鈕细诸,然后指定JDK安裝路徑的根目錄即可)沛贪,然后點擊Next,來到Maven項目最重要三個參數(shù)的設置頁面震贵,這三個參數(shù)分別為:GroupId,ArtifactId和Version.
為了更好的解釋這三個字段利赋,用Spark 1.6.2的核心組件的Maven標識符為例來進行講解。
org.apache.sparkspark-core_2.111.6.2
GroupId猩系,可以理解為用來標志你整個項目組的媚送,或者你這些代碼屬于某一個完整的項目,比如上面的org.apache.spark就可以非常好的來標志Apache的Spark這個項目了蝙眶。一般來說可以使用倒序的公司網(wǎng)址來作為GroupId季希,這可以類比為,沿襲了Java項目中使用倒序公司網(wǎng)址來作為Package名稱的一個慣例幽纷。
ArtifactId式塌,一般是用來在整個項目組來標志本項目的,相比GroupId的范圍友浸,其概念要稍微小一些峰尝,比如spark-core_2.11就非常好的表示出了本項目主要是關于Spark的核心基礎組件的,從而能夠與Spark其他各種組件或架構很好的區(qū)分開來收恢。
Version武学,正如字面意思祭往,就是本項目的迭代版本的信息,如上面的1.6.2.
現(xiàn)在火窒,比如你的公司名稱叫做abc硼补,然后你的項目組叫做test,那就可以使用com.abc.test來作為GroupId熏矿,然后將ArtifactId取做myFirstProject已骇,版本號就使用它默認的就好了(當然,如果你的項目以后有迭代更新版本的話票编,這個是需要按照實際情況進行改動的)褪储。這三個字段設置完畢后,點擊Next慧域,來到項目名稱設置頁面鲤竹,一般可以和ArtifactId字段保持一致,當然也可以不一致昔榴,這個只是為了給本項目取個名字而已辛藻。
整個流程如下面的Gif動圖所示。
2.2 屬于你的"Hello World!"
在上一步中论泛,我們已經(jīng)創(chuàng)建了一個Maven工程揩尸,不出意外的話蛹屿,這個時候會打開這個項目屁奏,并且首先映入眼簾的將是項目的pom.xml文件(暫時不清楚的不要緊,后面會講到)错负,細心如你坟瓢,一定可以驚奇的發(fā)現(xiàn)pom文件中居然有我們剛才設置的GroupId,ArtifactId和Version這些信息(如下),這些信息相當于就給了本項目一個唯一的標識符犹撒,有了這個標識符折联,別人將會在浩如煙海的Maven倉庫中,一眼識別到你(本段話有裝B嫌疑识颊,不懂的話請暫時忽略)诚镰。
com.abc.testmyFirstProject1.0-SNAPSHOT
好,現(xiàn)在開始要真正在這個Maven項目中創(chuàng)建一個屬于自己的Scala程序了祥款,在開干之前清笨,為了給Scala營造一個順利的環(huán)境,有幾件事需要先做刃跛。下面我將分點羅列如下:
首先抠艾,為了讓你的首次體驗Scala更清爽一些,將一些暫時無關的文件和文件夾都勇敢的刪除掉吧桨昙,主要有main\java,main\resources和test這三個检号;
將Scala的框架添加到這個項目中腌歉,方法是在左側欄中的項目名稱上右鍵菜單中點擊Add Framework Support...,然后在打開的對話框左側邊欄中齐苛,勾選Scala前面的復選框翘盖,然后點擊確定即可(前提是上文中所述步驟都已正確走通,否則你很有可能看不到Scala這個選項的)凹蜂;
在main文件夾中建立一個名為scala的文件夾最仑,并右鍵點擊scala文件夾,選擇Make Directory as炊甲,然后選擇Sources Root泥彤,這里主要意思是將scala文件夾標記為一個源文件的根目錄,然后在其內的所有代碼中的package卿啡,其路徑就從這個根目錄下開始算起吟吝。舉個例子,假如你在scala文件夾中建立了一個程序颈娜,這個程序的package屬性為com.abc.test剑逃,那么這個程序就一定要保存在scala\com\abc\test目錄下,否則項目就找不到這個程序了官辽;
在已經(jīng)標記好為源文件根目錄的scala文件夾 上蛹磺,右鍵選擇New,然后選擇Scala Class同仆,隨后設置好程序的名稱萤捆,并且記得將其設置為一個Object(類似于Java中含有靜態(tài)成員的靜態(tài)類),正常的話俗批,將會打開這個Object代碼界面俗或,并且可以看到IntelliJ IDEA自動添加了一些最基本的信息;
在創(chuàng)建的Object中輸入如下語句:
defmain(args:Array[String]):Unit= {println("Hello World!")}
在程序界面的任意位置岁忘,右鍵單擊后選擇Run '你的程序名稱'辛慰,靜待程序的編譯和運行,然后在下方自動打開的窗口中干像,你就可以看到振奮人心的Hello World!了帅腌。
整個流程的Gif動圖已經(jīng)做好,雙手奉上麻汰。
pom 的配置速客,涉及到打包的,貼在這里僅供參考:
idea 的maven的build在工具窗體的右側如下圖
如果使用工具自帶的mvn install:install 會有問題什乙,具體沒查原因挽封,手動輸入命令運行好了
三. 小結
至此,整個的IntelliJ IDEA安裝與配置,以及基本的Maven工程創(chuàng)建流程辅愿,就全然結束了智亮,寫的比較啰嗦,一個很簡單的IDE使用問題点待,嚼了這么多口舌阔蛉,不過啰嗦之外,若果真對各位好學的你們癞埠,有稍稍的竟然之外的益處状原,那也就不枉我這么苦逼的制作這些Gif動圖了。
此外苗踪,本文只介紹了一些最基本的內容颠区,關于IntelliJ IDEA和Maven的更為細致的內容,以及關于如何在本地寫一個Spark程序都還沒有提到通铲,不著急毕莱,后續(xù)我會慢慢更新。
文章抄寫完畢颅夺,省了自己很多事情朋截。下面就可以開始學習SCALA這種,神奇的語言了吧黄。