zoukankan      html  css  js  c++  java
  • 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就可以自动识别了。(详细参考:https://www.cnblogs.com/yjmyzz/p/4694219.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
     
     
     
     
     
     
     

  • 相关阅读:
    【python】PyQt5 QAction 添加点击事件
    【环境搭建】安装pyQt5 在pycharm报This application failed to start because no Qt platform plugin could be initialized的问题
    【嵌入式】arduino IDE串口监视器可以正常使用但其他软件发送串口指令没有反应的问题
    【操作系统】bat文件 系统找不到文件路径
    十天冲刺:第二天
    十天冲刺:第一天
    项目需求分析NABCD电梯演讲
    项目需求分析与建议-NABCD模型
    团队开发之团队介绍
    会议1.7
  • 原文地址:https://www.cnblogs.com/wangjuns8/p/8438663.html
Copyright © 2011-2022 走看看