利用IntelliJ IDEA与Maven开始你的Scala之旅
一. IntelliJ IDEA安装及配置
1.1 IntelliJ IDEA下载及安装
首先在 CHOOSE YOUR EDITION 这里选择Community
版本,这个版本是免费提供的,对我们的Spark使用来说,用这个版本已经足够了。如下图所示:
直接点击黑色的 DOWNLOAD
按钮会默认开始下载Windows版本的IntelliJ IDEA
,如果需要其他平台的版本,可以点击旁边的 .EXE
,然后在打开的下拉菜单中,选择相应平台即可。
下载完成后,双击得到的.exe
文件(我这里主要以Windows平台为例,下载得到的文件为ideaIC-2016.2.1.exe
),开始进行安装,其中所有选项按照默认的即可(其中有一个安装路径的配置,按照普通软件安装的方法自行设置即可,当然使用默认的路径也可以,记住这里的安装路径,后面要用到),一路点击Next
,最后点击Finish
按钮结束安装过程。
默认情况下,IntelliJ IDEA
并不会在桌面上创建快捷键,我们可以去它的安装目录下的bin
文件夹中,找到它的可执行.exe
文件,我这里的bin
文件夹路径是C:\Program Files (x86)\JetBrains\IntelliJ IDEA Community Edition 2016.2.1\bin
,在该目录下,你可以找到两个如下的文件:
idea.exe//对应32位机器
idea64.exe//对应64位机器
- 1
- 2
根据自己电脑是32位还是64位的,进行相应版本的选择,如果怕麻烦,建议在该文件上点击右键,然后选择发送到
–> 桌面快捷方式
选项,这样以后在启动的时候,直接在桌面上双击快捷方式即可(如果是细心的读者,其实可以发现,在IDEA安装过程中,其中有一个步骤就是问:需不需要在桌面上创建快捷方式,默认下是不会创建的)。
选择好32位还是64位的文件后,然后双击运行IntelliJ IDEA,一般来说首次运行,都会碰到如下页面:
因为IntelliJ IDEA本身都会有一些配置文件,所以这里在询问是否需要导入一个配置文件,这里选择图中标示的选项即可,并点击OK
。然后来到如下所示的UI主题选择界面,大多数使用IntelliJ IDEA的开发人员,一般都会毫无例外的选用第二个UI,这种灰黑色的主题简洁大方,给人一种深邃的质感,也确实是很多人选择IntelliJ IDEA的一个重要原因之一,用很多人的话说,写代码都能写出“高潮”来,是否属实,你们试试就知道了。
1.2 Scala插件的安装
后续的几个页面按照默认的配置即可,一直Next
来到下面的界面。因为我们主要用Scala来写Spark程序,而IntelliJ IDEA需要使用Scala插件来支持Scala,安装方法如下图所示,首先点击Configure
,然后点击下拉菜单中的Plugins
。
随后打开的页面会显示出IntelliJ IDEA当前已安装的插件列表,现在我们要安装Scala插件,所以点击页面左下方的Install JetBrains plugin...
按钮,然后来到安装插件的页面,如果网络正常的话,在页面左上方的搜索框内搜索”scala”,即可出现Scala插件的安装界面,点击右侧页面中的Install
进行安装后,可以看到安装的进度条,如下图所示:
但是如果你在公司内网,这个时候你可能需要配置代理,步骤如下图所示,在图中的Host name
和Port number
中填写公司自己的代理即可,如果需要,在下方的账号和密码框中按情况填写上相应信息。填写完毕,记得先检查一下是否能够正确连上外部网络,可以点击图中的Check connection
,输入一个外网的地址,比如http://www.baidu.com/
,测试一下代理是否正确配置了。一切正常后,点击OK
退出即可。然后按照上一步中不需要配置代理的情况下,进行Scala插件的安装。
注意:插件安装完了之后,记得重启一下IntelliJ IDEA使得插件能够生效。
1.3 全局JDK和Library的设置
因为Scala代码的编写需要依赖JDK,并且以后编写Spark的程序,肯定会用到各种外部Jar包,如果自己手动去下载这些Jar包然后再引入项目,不仅费时费力,而且尤其在多人协作开发一个项目的时候,各种Jar包版本的管理将会变得非常混乱,因此,在这里建议:从一开始就习惯来用Maven对项目依赖到的Jar包进行理(后面会讲到Maven),然而在创建Maven工程的时候,首先便需要指定JDK。
因此为了后续创建Spark项目(正如上面所说,一方面是Scala本身需要依赖JDK,另一方面用来管理项目构建的Maven,其创建也需要依赖JDK)的时候不用每次都去配置JDK,这里先进行一次全局配置。首先在欢迎界面点击Configure
,然后在Project Defaults
的下拉菜单中选择Project Structure
,如下图所示:
然后在打开的Default Project Structure
界面的左侧边栏选择Project
,在右侧打开的页面中创建一个新的JDK选项(一定要本机已经安装过JDK了),如下图所示步骤在下拉菜单中点击JDK
后,在打开的对话框中选择你所安装JDK的位置,注意是JDK安装的根目录,不是bin文件夹的目录,如果你对上一篇文章中讲到的JAVA_HOME
还很有印象的话,这里的目录就是JAVA_HOME
中设置的目录。
这一步的全局Project JDK
设置完毕后,回到欢迎页面。
除了要依赖JDK之外,Scala的编写肯定也离开不了自身的SDK(全称为Software Development Kit,即软件开发工具包。实际上,JDK就是Java的SDK),我们在IntelliJ IDEA编写Scala的程序的时候,比如要用到Scala自身提供的某个类,比如Seq
(暂时不知道不要紧,后续文章会讲到),那IntelliJ IDEA到哪里去找这个Seq
呢?只能去Scala自身提供的SDK里面去找,因此各种程序语言的软件开发者,是离不开这些语言的SDK的,Scala也自然不例外。而为了避免每次创建一个Scala工程的时候,都要去设置一遍Scala的SDK,这里做一些全局配置,主要是将Scala SDK引入到项目的Library中,并将其当做默认配置。
首先,在欢迎页面的右下角点击Configure
,然后在Project Defaults
的下拉菜单中选择Project Structure
,在打开的页面左侧选择Global Libraries
,然后在中间一栏中有一个绿色的加号标志 +
,点击后在下拉菜单中选择 Scala SDK
(如果没有的话,回顾上面的步骤,仔细观察一下是不是有哪些步骤错了,比如Scala的插件没安装成功,本机还未安装Scala,亦或者Scala的bin文件夹路径未能添加到系统的 PATH 环境变量中去等等),然后在打开的对话框中选择系统本身所安装的Scala(即System对应的版本),点击OK
确定,这时候会在中间一栏位置处出现Scala的SDK,在其上右键点击后选择Copy to Project Libraries...
,这个操作是为了将Scala SDK添加到项目的默认Library中去。整个流程如下面的动图所示。
二. 创建一个Maven工程
2.1 创建Maven工程
上面的安装和配置都完成后,现在可以开始创建一个Maven工程了。
在欢迎界面点击Create New Project
,在打开的页面左侧边栏中,选择Maven
,然后在右侧的Project SDK
一项中,查看是否是正确的JDK配置项(如果每一步严格按照上文中的步骤操作的话,正常来说这一栏会自动填充的,因为我们之前在1.3中已经配置过了全局的Project JDK了,如果这里没有正常显示JDK的话,可以点击右侧的New...
按钮,然后指定JDK安装路径的根目录即可),然后点击Next
,来到Maven项目最重要三个参数的设置页面,这三个参数分别为:GroupId
, ArtifactId
和Version
.
为了更好的解释这三个字段,用Spark 1.6.2的核心组件的Maven标识符为例来进行讲解。
<groupId>org.apache.spark</groupId><artifactId>spark-core_2.11</artifactId><version>1.6.2</version>
- 1
- 2
- 3
- GroupId,可以理解为用来标志你整个项目组的,或者你这些代码属于某一个完整的项目,比如上面的
org.apache.spark
就可以非常好的来标志Apache的Spark这个项目了。一般来说可以使用倒序的公司网址来作为GroupId,这可以类比为,沿袭了Java项目中使用倒序公司网址来作为Package名称的一个惯例。 - ArtifactId,一般是用来在整个项目组来标志本项目的,相比
GroupId
的范围,其概念要稍微小一些,比如spark-core_2.11
就非常好的表示出了本项目主要是关于Spark的核心基础组件的,从而能够与Spark其他各种组件或架构很好的区分开来。 - Version,正如字面意思,就是本项目的迭代版本的信息,如上面的
1.6.2
.
现在,比如你的公司名称叫做abc
,然后你的项目组叫做test
,那就可以使用com.abc.test
来作为GroupId
,然后将ArtifactId
取做myFirstProject
,版本号就使用它默认的就好了(当然,如果你的项目以后有迭代更新版本的话,这个是需要按照实际情况进行改动的)。这三个字段设置完毕后,点击Next
,来到项目名称设置页面,一般可以和ArtifactId
字段保持一致,当然也可以不一致,这个只是为了给本项目取个名字而已。
整个流程如下面的Gif动图所示。
2.2 属于你的”Hello World!”
在上一步中,我们已经创建了一个Maven工程,不出意外的话,这个时候会打开这个项目,并且首先映入眼帘的将是项目的 pom.xml
文件(暂时不清楚的不要紧,后面会讲到),细心如你,一定可以惊奇的发现 pom
文件中居然有我们刚才设置的 GroupId
, ArtifactId
和 Version
这些信息(如下),这些信息相当于就给了本项目一个唯一的标识符,有了这个标识符,别人将会在浩如烟海的Maven仓库中,一眼识别到你(本段话有装B嫌疑,不懂的话请暂时忽略)。
<groupId>com.abc.test</groupId><artifactId>myFirstProject</artifactId><version>1.0-SNAPSHOT</version>
- 1
- 2
- 3
好,现在开始要真正在这个Maven项目中创建一个属于自己的Scala程序了,在开干之前,为了给Scala营造一个顺利的环境,有几件事需要先做。下面我将分点罗列如下:
- 首先,为了让你的首次体验Scala更清爽一些,将一些暂时无关的文件和文件夹都勇敢的删除掉吧,主要有
main\java
,main\resources
和test
这三个; - 将Scala的框架添加到这个项目中,方法是在左侧栏中的项目名称上右键菜单中点击
Add Framework Support...
,然后在打开的对话框左侧边栏中,勾选Scala
前面的复选框,然后点击确定即可(前提是上文中所述步骤都已正确走通,否则你很有可能看不到Scala这个选项的); - 在main文件夹中建立一个名为
scala
的文件夹,并右键点击scala
文件夹,选择Make Directory as
,然后选择Sources Root
,这里主要意思是将scala
文件夹标记为一个源文件的根目录,然后在其内的所有代码中的package
,其路径就从这个根目录下开始算起。举个例子,假如你在scala
文件夹中建立了一个程序,这个程序的package
属性为com.abc.test
,那么这个程序就一定要保存在scala\com\abc\test
目录下,否则项目就找不到这个程序了; - 在已经标记好为源文件根目录的
scala
文件夹 上,右键选择New
,然后选择Scala Class
,随后设置好程序的名称,并且记得将其设置为一个Object
(类似于Java中含有静态成员的静态类),正常的话,将会打开这个Object
代码界面,并且可以看到IntelliJ IDEA自动添加了一些最基本的信息; - 在创建的
Object
中输入如下语句:
def main(args: Array[String]):Unit = {println("Hello World!")
}
- 1
- 2
- 3
- 在程序界面的任意位置,右键单击后选择
Run '你的程序名称'
,静待程序的编译和运行,然后在下方自动打开的窗口中,你就可以看到振奋人心的Hello World!
了。
整个流程的Gif动图已经做好,双手奉上。
三. 小结
至此,整个的IntelliJ IDEA安装与配置,以及基本的Maven工程创建流程,就全然结束了,写的比较啰嗦,一个很简单的IDE使用问题,嚼了这么多口舌,不过啰嗦之外,若果真对各位好学的你们,有稍稍的竟然之外的益处,那也就不枉我这么苦逼的制作这些Gif动图了。
此外,本文只介绍了一些最基本的内容,关于IntelliJ IDEA和Maven的更为细致的内容,以及关于如何在本地写一个Spark程序都还没有提到,不着急,后续我会慢慢更新。
Tips:
若上文中有些Gif图看不太清,可以在这些图上点击右键,并选择”在新标签页中打开图片”(在Chrome中,是这个选项,可能不同浏览器中的说法不一样,不过相信一定难不到你),然后将这个图片在新的浏览器窗口打开后,就会变大一些,从而看的也更清楚一些了。
参考
- https://github.com/judasn/IntelliJ-IDEA-Tutorial(非常好的IntelliJ IDEA教程)
转自:https://blog.csdn.net/u011513853/article/details/52896230
利用IntelliJ IDEA与Maven开始你的Scala之旅相关推荐
- IntelliJ IDEA中Maven插件无法更新索引之解决办法
为什么80%的码农都做不了架构师?>>> Maven的仓库.索引 中央仓库:目前来说,http://repo1.maven.org/maven2/ 是真正的Maven中央仓库的 ...
- 使用IntelliJ IDEA和Maven管理搭建+Web+Tomcat开发环境
使用IntelliJ IDEA和Maven管理搭建+Web+Tomcat开发环境 使用IntelliJ IDEA和Maven管理搭建+Web+Tomcat开发环境 前言:原来一直使用Eclipse,换 ...
- Intellij IDEA使用Maven搭建spark开发环境(scala)
如何一步一步地在Intellij IDEA使用Maven搭建spark开发环境,并基于scala编写简单的spark中wordcount实例. 1.准备工作 首先需要在你电脑上安装jdk和scala ...
- IntelliJ IDEA的Maven项目在修改时报java.lang.OutOfMemoryError: PermGen space异常
IntelliJ IDEA的Maven项目在修改时报java.lang.OutOfMemoryError: PermGen space异常 参考文章: (1)IntelliJ IDEA的Maven项目 ...
- 解决IntelliJ无法导入maven包的问题
解决IntelliJ无法导入maven包的问题 参考文章: (1)解决IntelliJ无法导入maven包的问题 (2)https://www.cnblogs.com/ZeroTensor/p/116 ...
- maven 与intellij IDEA 下maven 为groovy 项目生成jar 详解
2019独角兽企业重金招聘Python工程师标准>>> W7下安装 maven与intellij IDEA 下maven为groovy项目生成jar详解(适合新手) 第一步:下载ma ...
- intellij idea建立maven项目
配置jdk 配置mvn http://jingyan.baidu.com/article/d8072ac45d3660ec94cefd51.html 右键"计算机",选择" ...
- Maven下载+Maven环境变量配置+IntelliJ IDEA配置Maven(详细教程) ,收藏起来吧
这里是Maven的下载链接,看自己需要使用那个版本: 点击这里下载Maven 进入下载页面如图: 1.使用最新版本的话直接点击上图中的3.6.3的zip可以直接下载,如果想使用之前,版本的话就点击上图 ...
- intellij idea操作maven时控制台中文乱码
只留存记录 windows环境下,Intellij idea12中maven操作时,控制台中文乱码问题(编译报错或者clean install时出现的其他错误描述乱码) 在cmd中mvn中文正常显示, ...
最新文章
- 自动驾驶年度激辩:载货比载人更快,商业化应成为评价指标 | MEET2021
- win7关闭开机启动项_电脑开机全是各种广告?来看看我怎么解决的吧
- 16、IN和NOT IN用法详解
- JMX-JAVA进程监控利器
- iBatis.Net(C#)SQL数据映射
- C++中使用流读取数据 ifstream
- 回归分析假设_回归分析假设的最简单指南
- 新安装数据库sqlserver2008r2,使用javaweb连接不上问题处理
- colinux的安装
- war 发布后页面不更新_吐槽 | 都发布一万年了,这游戏还不“更新”?
- Python3.x爬虫教程:爬网页、爬图片、自己主动登录
- 跟我学Android之二 第一个程序
- 内部曝料——博文年会之《武林外传》
- 解决NSTimer循环引用
- 【安装记录】CPU-Z
- 2013年春节放假通知
- 西湖论剑 2020 loader
- 多传感器融合的四种经典结构
- 计算机辅助设计表现的发展给设计带来的影响,计算机辅助设计对艺术设计的影响.doc...
- Problem G Ray in the tube(思维)
热门文章
- 手把手教你用Python批量实现在Excel后里面新加一列,并且内容为excel 表名(附源码)...
- 微信朋友圈点赞测试点【杭州多测师】【杭州多测师_王sir】
- ICPLAZA凭BFT+POS快速“出圈” 打造更繁荣的生态系统
- Devign: Effective Vulnerability Identification byLearning Comprehensive Program Semantics viaGraph
- vue 引入高德地图 路线规划
- 如何判断一个男人将来是穷还是富?
- yqsc是什么意思_QSC是什么意思?
- 图书管理系统 利用文件txt进行读写操作 文件操作
- NHibernate3剖析:Configuration篇之SessionFactory lambda配置
- PIC单片机入门笔记(新手学PIC必看)——基于PIC16F886