這篇博客
是在Scala IDEA for Eclipse里手動創建scala代碼編寫環境。
Scala IDE for Eclipse的下載、安裝和WordCount的初步使用(本地模式和集群模式)
本博文,教大家,用maven來創建。
第一步:安裝scala插件
因為,我win7下的scala環境是2.10.4
所以,選擇下載的是,這個
下載好之后,解壓縮以后把plugins和features復制到eclipse目錄,重啟eclipse以后即可。
重啟eclipse以后即可。
然后,
Window -> Open Perspective -> Other…,打開Scala,說明安裝成功。
第二步:創建maven工程
打開File -> New -> Other…,選擇Maven Project:
點擊Next,輸入項目存放路徑:
也許,大家會像我這樣,沒有。org.scala-tools.archetypes找不到。
解決辦法:
則需要
安裝m2e-scala插件
m2e-scala用來支持scala開發中對maven的一些定制功能。通過eclipse的Install New Software安裝。
安裝過程
1、Help->Install New Software
url里輸入http://alchim31.free.fr/m2e-scala/update-site/
這里大家可以僅勾選第三項,我這里就全部勾選上。懶得以后還需要再安裝。
安裝完成后,可在Help->Installation Details中查看
然后,再
設置遠程Archetype
為了方便地創建Scala Maven項目,我們在Eclipse配置遠程的Maven Archetype,ArcheType相當於項目模板。在Preference頁面中選擇Maven->Archetypes:
點擊 Add Remote Catelog,在彈出框的catlog file輸入:
OK,完成。
當然,若大家,這里也可以以后若不需要了,也可以卸載。
如何在Eclipse/Myeclipse/Scala IDEA for Eclipse 中正確刪除已經下載過的插件(圖文詳解)
如果大家還是,沒有成功的話,則
1、下載一個maven-Scala-plugin插件,本次下載為maven-scala-plugin-2.15.2.jar包,放入scala-SDK-4.4.1-vfinal-2.11-win32.win32.x86_64\eclipse\plugins路徑下,然后重啟eclipse。
下載地址
http://mvnrepository.com/artifact/org.scala-tools/maven-scala-plugin/2.15.2
注意:這個版本,我只是舉個例子,大家可以變動哈!
2、在項目的pom.xml中增加以下代碼:
<build> <plugins> <plugin> <groupId>org.scala-tools</groupId> <artifactId>maven-scala-plugin</artifactId> <version>2.15.2</version> <executions> <execution> <id>scala-test-compile</id> <phase>test-compile</phase> <goals> <goal>testCompile</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
為什么,要上述這么做呢,是因為
若是你的,沒有生成的話,多保存下pom.xml或者在Scala IDEA for Eclipse下方的problem里選中錯誤的信息一條,逐個去quick fix就可以了
以下是我在Scala IDEA for Eclipse里先用maven來構建scala,再來構建java項目(博主推薦!!!)
這個原理,跟下面我寫的在IDEA里,maven來先構建scala,再來構建java項目,是一樣的。
是在Intellij IDEA(Ultimate版本)里用maven常見scala和java代碼編寫環境
Spark編程環境搭建(基於Intellij IDEA的Ultimate版本)(包含Java和Scala版的WordCount)(博主強烈推薦)
具體如下:
Eclipse中選擇New->Maven Project,在ArcheType的選擇頁面中,選擇如下:
然后,來解決這個自帶錯誤
因為,自帶是scala的2.8.0版本
以下是我在Scala IDEA for Eclipse里先用maven來構建java,再來構建scala項目
即,新建好了,src/main/java。同理去新建好src/test/scala。
我這里,在src/main/scala里,新建包zhouls.bigdata.DataFeatureExtraction,是為了與src/main/java里統一。
然后,我這里,以一個wordcount.scala為例。
再改下jdk
然后,我這里編個簡單的程序。
package zhouls.bigdata.DataFeatureExtraction //import org.apache.spark.SparkConf //import org.apache.spark.SparkContext import org.apache.spark.{SparkConf, SparkContext} object WordCount { def main(args: Array[String]): Unit = { println("Hello World") } }
成功!
總結
其實思路很簡單。
1、 對於Scala IDEA for Eclipse而言:
好比我本博客,是先用maven來創建普通的java項目,這個太簡單了,若不懂的博友,請移步
Eclipse下Maven新建項目、自動打依賴jar包(包含普通項目和Web項目)
然后,在建立好maven創建的普通java項目之后,需要下載插件maven-scala-plugin-2.15.2.jar包,放入scala-SDK-4.4.1-vfinal-2.11-win32.win32.x86_64\eclipse\plugins路徑下,然后重啟eclipse。
然后,再在pom.xml里加入插件所需的配置文件。
然后,再手動新建src/main/scala和src/test/scala。
然后,再手動新建好包和類。
不多贅述后面的了。
說包了,就是在Scala IDEA for Eclipse里,若直接這么去maven創建項目的話,則默認的是java項目,所以需要scala項目,則需手動。
2、對於在IDEA而言:
好比如下的博客
IntelliJ IDEA(Ultimate版本)的下載、安裝和WordCount的初步使用(本地模式和集群模式)
Spark編程環境搭建(基於Intellij IDEA的Ultimate版本)(包含Java和Scala版的WordCount)(博主強烈推薦)
先,手動新建src/main/java和src/test/java。
然后,再手動新建好包和類。
不多贅述后面的了。
說包了,就是在Scala IDEA for Eclipse里,若直接這么去maven創建項目的話,則默認的是java項目,所以需要scala項目,則需手動。
我的配置文件pom.xml(暫時為)
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>zhouls.bigdata</groupId> <artifactId>DataFeatureExtraction</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>DataFeatureExtraction</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <build> <plugins> <plugin> <groupId>org.scala-tools</groupId> <artifactId>maven-scala-plugin</artifactId> <version>2.15.2</version> <executions> <execution> <id>scala-test-compile</id> <phase>test-compile</phase> <goals> <goal>testCompile</goal> </goals> </execution> </executions> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <!-- https://mvnrepository.com/artifact/org.datanucleus/datanucleus-api-jdo --> <dependency> <groupId>org.datanucleus</groupId> <artifactId>datanucleus-api-jdo</artifactId> <version>5.0.6</version> </dependency> <!-- https://mvnrepository.com/artifact/org.datanucleus/datanucleus-core --> <dependency> <groupId>org.datanucleus</groupId> <artifactId>datanucleus-core</artifactId> <version>5.0.6</version> </dependency> <!-- https://mvnrepository.com/artifact/org.datanucleus/datanucleus-rdbms --> <dependency> <groupId>org.datanucleus</groupId> <artifactId>datanucleus-rdbms</artifactId> <version>5.0.6</version> </dependency> <!-- https://mvnrepository.com/artifact/org.apache.spark/spark-core_2.10 --> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.10</artifactId> <version>1.6.2</version> </dependency> <!-- https://mvnrepository.com/artifact/com.ecfront/ez-fs <dependency> <groupId>com.ecfront</groupId> <artifactId>ez-fs</artifactId> <version>1.0</version> </dependency> --> <!-- https://mvnrepository.com/artifact/org.apache.spark/spark-sql_2.10 --> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-sql_2.10</artifactId> <version>1.6.2</version> </dependency> <!-- https://mvnrepository.com/artifact/com.databricks/spark-csv_2.10 --> <dependency> <groupId>com.databricks</groupId> <artifactId>spark-csv_2.10</artifactId> <version>1.5.0</version> </dependency> <!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-client --> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <version>2.6.0</version> </dependency> <!-- https://mvnrepository.com/artifact/org.apache.spark/spark-mllib_2.10 --> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-mllib_2.10</artifactId> <version>1.6.2</version> <scope>provided</scope> </dependency> </dependencies> </project>
擴展博客(一定要去看)
用maven來創建scala和java項目代碼環境(圖文詳解)(Intellij IDEA(Ultimate版本)、Intellij IDEA(Community版本)和Scala IDEA for Eclipse皆適用)(博主推薦)
同時,大家可以關注我的個人博客:
http://www.cnblogs.com/zlslch/ 和 http://www.cnblogs.com/lchzls/ http://www.cnblogs.com/sunnyDream/
詳情請見:http://www.cnblogs.com/zlslch/p/7473861.html
人生苦短,我願分享。本公眾號將秉持活到老學到老學習無休止的交流分享開源精神,匯聚於互聯網和個人學習工作的精華干貨知識,一切來於互聯網,反饋回互聯網。
目前研究領域:大數據、機器學習、深度學習、人工智能、數據挖掘、數據分析。 語言涉及:Java、Scala、Python、Shell、Linux等 。同時還涉及平常所使用的手機、電腦和互聯網上的使用技巧、問題和實用軟件。 只要你一直關注和呆在群里,每天必須有收獲
對應本平台的討論和答疑QQ群:大數據和人工智能躺過的坑(總群)(161156071)