Scala & IntelliJ IDEA:环境搭建、helloworld

 
---------------------
前言
---------------------
项目关系,但愿用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)。
 
 
--------------------
安装Scala
--------------------
1. 安装Scala插件
依次:IntelliJ IDEA -> Preferences -> Plugins -> Browse repositories...
 
1)在搜索框输入scala
2)在列表中选择Scala
3)点击右侧框的“Install”按钮(下图是安装完成以后的样子)
 
 
2. 安装Scala SDK
网上说的是先到 http://www.scala-lang.org/download/ 下载压缩包,在本地解压,IDEA就能够自动识别了。(详细参考: http://www.javashuo.com/article/p-puvzeowp-gx.html
 
而我用的是另外一个方法(有点儿笨,有点儿捉急了……):
1)在没有安装SDK的状况下,直接先建立了一个Scala项目(建立项目的步骤下面有说明),
2)打开Hello.scala文件的时候,IDEA会在编辑器的右上角提示:Setup Scala SDK
点击连接,在弹出框中,根据提示:
-> download SDK(等待时间比较久……)
-> 选择版本(个人是2.12.4)
-> STB最后自动更新一些jar包(又是一段时间的等待……)
 
在安装过程当中,右下角的EventLog栏里会有STB的提示,建议选择“Auto-Import”。
 
 
--------------------
建立项目、运行 — 经典的HelloWorld
--------------------
1. 建立项目
1)Create New Project(或:File -> New -> Project);
2)在左侧框选择“Scala” -> 在右侧框再次选择“Scala”,没有Scala则选择SBT,点击下一步;
3)在Name里输入:HelloWorld
在Location里选择本身想要存工程的路径,点击finish
 
建立出来的Scala项目的路径结构大概是这个样子的:
 
目录scala是咱们下代码的地方
目录test是些单元测试的代码的地方(后面会有详细说明)
貌似还应该有个跟scala并列的java目录,可是在个人项目里没有……
 
 
2. 写代码
在工程目录src/main/scala上,右键单击,选择:New -> Scala Script
(我第一次建立文件的时候并无安装Scala SDK,因此没有这个文件类型,只好选择File……)
输入文件名:Hello.scala
 
输入代码:
object HelloWorld {
def main(args: Array[String]): Unit = {
println("Hello, world!")
}
}
 
3. 运行配置
在Edit Configurations...里添加一项SBT:
 
在SBT Task下新增一项,输入:
Name:run scala helloworld
Tasks: ~run ('~'符号,用来触发SBT编译并运行项目)
保存退出。
 
点击“运行”按钮,在控制台输入运行结果:
 
[info] Loading settings from plugins.sbt ...
[info] Loading project definition from /Users/yp-tc-m-2755/Documents/devopement/scala/hellowold/project
[info] Loading settings from build.sbt ...
[info] Set current project to hellowold (in build file:/Users/yp-tc-m-2755/Documents/devopement/scala/hellowold/)
[info] Updating ...
[info] Done updating.
[info] Compiling 1 Scala source to /Users/yp-tc-m-2755/Documents/devopement/scala/hellowold/target/scala-2.12/classes ...
[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.4. Compiling...
[info] Compilation completed in 12.446s.
[info] Done compiling.
[info] Packaging /Users/yp-tc-m-2755/Documents/devopement/scala/hellowold/target/scala-2.12/hellowold_2.12-0.1.jar ...
[info] Done packaging.
[info] Running HelloWorld
Hello, world!
[success] Total time: 22 s, completed 2018-2-6 18:55:20
 
 
--------------------
遗留问题
--------------------
在build.sbt里的全部关键字都是红的,提示:Cannot resolve symbol
虽然不影响运行,可是这样就不能在这里添加依赖了。好比,单元测试的依赖:
libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.1" % "test"
 
https://stackoverflow.com上面找到一些方法,可是对我都不起做用,求大神指教。
 
 
 
 
--------------------
参考
--------------------
1)在线教程:
2)scala intellij idea 环境搭建及编译:
3)GETTING STARTED WITH SCALA IN INTELLIJ
4)Installing, Updating and Uninstalling Repository Plugins
5)TESTING SCALA IN INTELLIJ WITH SCALATEST