1. Intellij IDEA 开发环境搭建

最近在学习scala,除需要编写scala程序外,同时还需要创建maven工程,打成Jar包,而Eclipse在这方面显得使用的不是那么方面,同时由于Intellij IDEA提供了非常智能的提示功能,所以选择IDEA作为开发环境。Intellij IDEA现在也提供社区版本供开发者免费使用,所以许多原来的Eclipse用户也逐渐的转向IDEA,一方面可以智能的提示和快捷键可以提高开发效率,另一方面其整洁的界面设计和丰富的插件集成功能,方便了程序的集成开发和使用。这里是官网下载地址https://www.jetbrains.com/idea/download/download-thanks.html?platform=windows&code=IIC,为了开发方便可以下载Windows版本直接安装。

安装的过程可以一路next到底,不要管太多插件上的问题,直到创建工程时再开始设置就行了。下面是一些常用的设置:

  1. 首次新建JAVA工程时要指定JDK所在目录
  2. 设置字体大小和间距:
  3. 控制台的字体大小和间距:
  4. 显示行号:
  5. 在【View】下显示ToolBar和Tool Buttons,【setting】就在ToolBar中:
  6. 无法修改时,先save as,这是Intellij的设计理念

另外,除了可以使用免费的社区版,现在也有破解的Ultimate企业版,其功能相对于Community要强大,所以可以使用以下方式进行破解。

IDEA相比较其他编译器很好用,但是企业版需要激活(在校学生可以免费申请),启动时会弹出激活页面,下面有两种方法可以激活,自己偏爱第二种,第一种偶尔会失效……

1. 到网站 http://idea.lanyus.com/ 获取注册码。

2.填入下面的license server:

  http://intellij.mandroid.cn/
  http://idea.imsxm.com/
  http://idea.iteblog.com/key.php

/***********************update 2017/12/14*************************/

突然发现三个激活服务器都不能用了,不知道是哪位大神自己搭建的服务器http://idea.java.sx/,可用

/***********************update 2018/1/15*************************/

选择第二种复制下面这段代码到文本框中(可用)

[html] view plain copy
  1. C0FHYYCJ22-eyJsaWNlbnNlSWQiOiJDMEZIWVlDSjIyIiwibGljZW5zZWVOYW1lIjoid2VpIGh1YW5nIiwiYXNzaWduZWVOYW1lIjoiIiwiYXNzaWduZWVFbWFpbCI6IiIsImxpY2Vuc2VSZXN0cmljdGlvbiI6IiIsImNoZWNrQ29uY3VycmVudFVzZSI6ZmFsc2UsInByb2R1Y3RzIjpbeyJjb2RlIjoiSUkiLCJmYWxsYmFja0RhdGUiOiIyMDE3LTAyLTI2IiwicGFpZFVwVG8iOiIyMDE4LTAyLTI1In1dLCJoYXNoIjoiNTA2NDQ3MS8wIiwiZ3JhY2VQZXJpb2REYXlzIjo3LCJhdXRvUHJvbG9uZ2F0ZWQiOmZhbHNlLCJpc0F1dG9Qcm9sb25nYXRlZCI6ZmFsc2V9-pujnwQxf3C8yHf0amTTAId+Oj1LzpvTsn71x0pvgjvXtx7MWs0AAbAX2L5frRvM/0AzmF7aQuayU5EEcew+J5j0O6RsCxMUilbeeQuCBDZK1bm9NKlAYf90RSKqQ9ViMyjsBVTHoABM0XHNi++XASeBB9g1OUZdzseLZ6pit0G0BPmunKIuX7bqjWewl0okbNIl+bW2y3eD4un9jDODbjMmdlB6T42s6mQ/lDkjD65C5OY1nY2fsVyd4sa4i0iCYwNvzFlDVG/AzziLYNDAdjipE+lN5McMXMfPZuGKkvTJMJk56l5t+jPjdjPRDId+lLqa0GU3zaNP251mm8vmOew==-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==

2.scala配置

Intellij IDEA默认配置里面没有Scala插件,需要手动安装,在Intellij IDEA 首次运行时选择configure plugins,选择默认后在软件主界面去配置,但是测试发现,这种设置方式经常会因为网络问题配置失败,建议直接到 https://plugins.jetbrains.com/plugin/1347-scala这个链接去下载,下载完成后,解压到Intellij IDEA 安装目录中的plugins里面去,然后启动Intellij IDEA 。然后就可以创建爱你Scala开发环境的创建:

1 File->New Project

选择scala->IDEA,填写项目名,选择项目保存的路径和JDK及Scala SDK版本,然后下一步:得到下列界面:

点击Finish,然后点击File-->Project Structure,出现如下图所示,选择安装的jdk目录,及所建立工程文件的路径

在Project->Project SDK的右侧,点击new,得到:

选择JDK,在弹出框中选择JDK的安装目录

在Libraries右侧点击绿色的“+”号,选择Scala SDK,出现下图所示的选择scala版本的选项:

在上一步骤中,可以选择Intellij IDEA中自带的Scala,也可以使用自己安装好的Scala,点击上图中的”Browse”,然后选择Scala的安装目录,配置好之后,直接finish,得到下列工程目录

点击File->Project Structure->Modules,

在src目录上,右键然后点击new fold 命名为main,再右鍵main,同样new fold,命名为scala,并设置为sources,如下图,注意,src、main均不要设置sources,否则后面编译helloworld会报错 XX is already defined as object xx

整体的工程文件已经创建好了,如下图: 在scala源文件目录上,直接右鍵,new->scala class ,选择Object,然后输入名称:HelloWorld

输入的代码如下:

1 object HelloWorld  {
2   def main(args: Array[String]) {
3     println("Hello World")
4   }
5 }

点击HelloWorld.scala文件,右键或直接ctr+shift+F10运行程序

3.程序打包

File->Project Structure

Next step:

选择主类:(点击省略号会自动出现要使用的主类)

Next step:

点击应用、OK

Next step:

Next step:

Next step:

本地打好的包:

程序运行过程出现的异常及解决方式


编写完scala程序,在运行时出现Error:scalac: Error: org.jetbrains.jps.incremental.scala.remote.ServerException类型的异常。

折腾一两个小时,最后发现安装了多个版本的Scala SDK,前后设置的版本不一致。另外,也要注意scala2.1以上的版本尽量使用JDK1.8。还有,如果要在spark集群环境下运行scala程序是,要注意使用的scala版本和spark的版本的兼容性问题,从Spark2.0版开始,Spark默认使用Scala 2.11构建,Scala 2.10用户应该下载Spark源码包,并用Scala 2.10支持构建 。

Jar包在Spark中运行

将jar包通过XShell上传到服务器的摸个目录下,我这里将HelloScala的jar包放在/home/hadoop/myProject/myJar/目录下,进入spark的安装目录,启动spark(./start-all.sh),并通过如下的名利运行jar包:

/usr/local/spark/bin/spark-submit --class "HelloScala" /home/hadoop/myProject/myJar/HelloScala.jar

Local模式运行spark应用程序,通过spark-submit提交应用程序,该命令的格式如下:
/usr/local/spark/bin/spark-submit       //提交Spark任务的入口,其中/usr/local/spark为spark的安装目录,spark-submit为提交Spark 任务的脚本
  --class <main-class>     //需要运行的程序的主类,应用程序的入口点
  --master <master-url>    //Master URL,下面会有具体解释
  --deploy-mode <deploy-mode>      //部署模式
  ... # other options  //其他参数
  <application-jar>  //应用程序JAR包
  [application-arguments] //传递给主类的主方法的参数
deploy-mode这个参数用来指定应用程序的部署模式,部署模式有两种:client和cluster,默认是client。当采用client部署模式时,就是直接在本地运行Driver Program,当采用cluster模式时,会在Worker节点上运行Driver Program。比较常用的部署策略是从网关机器提交你的应用程序,这个网关机器和你的Worker集群进行协作。在这种设置下,比较适合采用client模式,在client模式下,Driver直接在spark-submit进程中启动,这个进程直接作为集群的客户端,应用程序的输入和输出都和控制台相连接。因此,这种模式特别适合涉及REPL的应用程序。另一种选择是,如果你的应用程序从一个和Worker机器相距很远的机器上提交,那么采用cluster模式会更加合适,它可以减少Driver和Executor之间的网络迟延。

Intellij IDEA常用快捷键

快捷鍵 用法描述
Ctrl+Shift+A 根据名称查找操作,例如查找创建scala class操作
Alt+F1 视图切换
Ctrl+Tab 工具窗口、正在编辑的代码文件切换
Alt+Home 显示导航条
Ctrl+J 插入代码模板,例如main方法
Ctrl+Alt+J 将选中的代码用代码模板包裹
F4 打开工程配置窗口
Ctrl+Slash 注释代码 //
Ctrl+Shift+Slash 注释代码 /**/
Ctrl+N/Ctrl+Shift+N 输入名称查询类或文件
Ctrl+D 复制选中的代码
Ctrl+W / Ctrl+Shift+W 智能地进行代码选择
Ctrl+F 在当前文件中进行文本内容查找
Shift+Shift search everywhere
Ctrl+Shift+F7 高亮显示先中的方法或符号在当前文件中的使用情况
Ctrl+Space 代码自动提示
Ctrl+Shift+Enter 语句自动完成
Alt+enter 代码自动修正

参考:

http://www.mamicode.com/info-detail-1192175.html

http://blog.csdn.net/baolibin528/article/details/50315863

 http://blog.csdn.net/qq_38663729/article/details/78757039

scala配置intellij IDEA15.0.3环境及hello world!

Intellij IDEA开发环境搭建,scala配置及打包,jar包在spark中的运行相关推荐

  1. Windows下Android开发环境搭建和配置

    关于Windows下Android开发环境搭建.配置方面文章,网上一搜一堆,为方便以后参考,权且做个记录,主要关注安装过程中的注意事项.对新手提醒的是,本文介绍SDK开发Android APK环境搭建 ...

  2. Eclipse IDE 使用技巧和Android App 开发环境搭建和配置

    写在前面: 本片文章只是记录了自己学习时的一些笔记,纯粹是为了自己后面方便查找,片言碎语,不适合大家浏览,请大家不要参考这篇文章. 正文: Eclipse IDE 使用技巧               ...

  3. java开发环境搭建与配置

    java开发环境搭建与配置 1.首先鼠标右击我的电脑,找到"属性",点击进入 2.找到"高级系统设置",点击进入 3.点击"高级",再点击& ...

  4. Windows Java JavaFX IntelliJ IDEA 开发环境搭建 创建工程 编译运行 打包分发 自定义运行时

    博文目录 文章目录 本文说明 JavaFX 简单说明 JavaFX 版本说明 JavaFX 与 JDK 的关系 JavaFX 与 JDK Modular (JDK 9 模块化系统) JavaFX 模块 ...

  5. HT32合泰单片机开发环境搭建和配置教程

    HT32合泰(Holtek)单片机开发环境搭建安装教程 前言 最近在准备合泰杯的比赛,在看合泰官方的PPT和数据手册学习,顺便做个合泰单片机的开发环境搭建教程. 合泰杯比赛发放的开发板是ESK32-3 ...

  6. VS2019 Qt开发环境搭建与配置

    目录 更新说明 学习Qt.安装Qt环境的困扰 问题1:该选什么操作系统,该用MinGW还是msvc ? 问题2:如果用visual studio该安装哪个qt版本? 问题3:Qt开发商业软件需要付费授 ...

  7. MongoDB数据库开发环境搭建与配置,Windows环境下

    MongoDB是一种NoSQL数据库.本文以Windows环境为例搭建配置MongoDB. MongoDB下载链接: MongoDB Community Download | MongoDBhttps ...

  8. SLAM开发环境搭建和配置

    1.安装WSL子系统 为了避免安装Windows+Linux双系统的麻烦和资源浪费,安装Windows版本的Linux系统即WSL子系统. 1.1 默认安装 一般情况下默认安装WSL子系统的安装路径在 ...

  9. 最新Windows下Go语言开发环境搭建+GoLand配置

    一.下载Go语言开发包 大家可以在Go语言官网(https://golang.google.cn/dl/)下载 Windows 系统下的Go语言开发包,如下图所示. 这里我们下载的是 64 位的开发包 ...

最新文章

  1. keras时间序列数据预测_使用Keras的时间序列数据中的异常检测
  2. 大萧条时期什么行业走俏_大流行时期的用户体验
  3. 用于J2EE开发的Cloud IDE
  4. 《大话软件工程—需求分析与软件设计》,给出了分析与设计过程中需要的理论、方法、工具和标准
  5. 【第四篇章-android平台MediaCodec】推断是否支持硬件解码码
  6. SCVMM2008 R2 SP1 物理机实战P2V迁移主机 Step By Step.
  7. Oracle 20c 新特性:表达式参数值 Expressions Parameter Values
  8. 查看特定进程杀死进程方法
  9. 环境在c盘_程序员,拯救我的C盘
  10. Linux网络编程复习笔记
  11. OO第二次课程总结分析
  12. c#读取进程列表判断程序是否已经启动(转)
  13. 节点数对5层网络迭代次数的影响
  14. Hadoop单机版安装
  15. 去除小圆点_word中的小圆圈怎么删掉
  16. 除法运算符和求余运算符
  17. 3.2Packet Tracer - 配置初始交换机设置
  18. 通过微信传文件在服务器保留几天,微信发送文件多久会失效
  19. 汉堡式折叠html,3种超酷汉堡包菜单按钮变形动画特效
  20. 推荐几款好用的手机编程APP!

热门文章

  1. requests的时候,遇到 InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate ve
  2. Spring boot集成freemarker导出excel
  3. 人脸图像local feature提取方法小结
  4. 6463: Tak and Hotels II
  5. 网站建设对企业的有什么价值,为何需要做网站
  6. r7000搭建php,netgear r7000 可搭建php服务器吗
  7. TPCH生成数据导入Postgres数据库
  8. 对比百度、必应、谷歌搜索结果,你还会用百度吗?
  9. IE浏览器中选择本地文件
  10. IOS 大众点评 搜索界面实现