---------------------
前言
---------------------
項目關係,但願用Spark GraphX作數據分析及圖像展現,但前提是得會spark;spark是基於scala的,scala是基於JAVA的……因此,要想用Spark GraphX,技術堆棧大致上應該是這樣的:Java -> Scala -> Spark -> Spark GraphX。
JAVA都這麼多年了……就不說了,咱們從學習Scala開始。
--------------------
說明
--------------------
1)Java配置完成,版本在1.8以上;
由於Scala是基於Java開發的,編譯以後生成的class文件也能夠遠行在JVM上,並被Java調用。
2)IntelliJ IDEA已安裝完成(個人版本是:2017.2.2)
3)開發環境:MacOS
--------------------
安裝、配置Scala
--------------------
1. 安裝Scala SDK
配置環境變量:
1)vi /etc/profile
在末尾添加:
export SCALA_HOME=/Users/yp-tc-m-2755/Documents/software/scala-2.12.4
export PATH=$PATH:$SCALA_HOME/bin
保存退出。
2)輸入命令,使其生效:
source /etc/profile
3)檢驗(若是沒生效,則重啓終端):
$ scala -version
Scala code runner version 2.12.4 -- Copyright 2002-2017, LAMP/EPFL and Lightbend, Inc.
2. 安裝Scala插件
依次:IntelliJ IDEA -> Preferences -> Plugins -> Browse repositories...
(或是在IntelliJ IDEA歡迎頁面,右下角點擊:Configure->Preferences)
1)在搜索框輸入scala
2)在列表中選擇Scala
3)點擊右側框的「Install」按鈕(下圖是安裝完成以後的樣子)
--------------------
建立Java Web項目
--------------------
1. 使用MAVEN框架,建立web項目
我選擇的是:maven-archetype-webapp。
不爲別的,就是由於會自動建立一個index.jsp,方便試驗tomcat是否正常啓動……
目錄結構大概是這個樣子的:
2. 手動添加java,scala文件夾
1)在main目錄下新建java,scala文件夾
點擊File->project structure->Modules
右鍵單擊main文件夾,選擇「New Folder」,分別建立java和scala文件夾。
2)分別選中java和scala,點擊上面的按鈕「Sources",
這樣,就標記了這兩個文件夾下的文件都是源碼。
不然,想要建立源文件的時候,右鍵java或scala,在new->file裏沒有Java Class和Scala Class選項。
3)在Global Liberaries裏添加scala-sdk。
(若是是經過IDEA安裝的sdk則不須要,已經默認添加了)
3. 在pom.xml裏添加對scalas的依賴
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>wangjun</groupId>
<artifactId>ScalaInJava</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>ScalaInJava Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>2.12.4</version>
</dependency>
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-compiler</artifactId>
<version>2.12.4</version>
</dependency>
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-reflect</artifactId>
<version>2.12.4</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.12</version>
</dependency>
<dependency>
<groupId>com.google.collections</groupId>
<artifactId>google-collections</artifactId>
<version>1.0</version>
</dependency>
</dependencies>
<build>
<finalName>ScalaInJava</finalName>
<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>
</project>
注意:若是不添加<plugin>,在編譯的時候會出現錯誤:no prefix 'scala' 或 找不到符號
4. 建立源文件:
1)在java目錄下建立HelloJava.java,內容以下:
public class HelloJava {
public static void main(String[] args) {
System.out.println("Hello : Java");
HelloScala helloScala = new HelloScala();
helloScala.sayHello( " my first scala!");
}
}
2)在scala目錄下建立HelloScala.scala,內容以下:
class HelloScala {
def sayHello(x: String): Unit = {
println("hello, " + x)
}
}
能夠看到,在HelloJava裏調用了HelloScala對函數sayHello。
5. 運行:
在HelloJava.java編輯框任意位置,右鍵單擊,選擇:Run 'HelloJava.main()'
控制檯輸出結果:
OK,能夠開始Scala之旅了!
--------------------
參考
--------------------
1)scala intellij idea 環境搭建及編譯、打包
2)IntelliJ IDEA + Maven建立Java Web項目
3)運用Intellij建立本身的第一個Maven工程
4)Maven 三種archetype說明