分享

about云日志分析项目准备10-1:Intellij Idea 手动添加本地依赖

Oner 发表于 2017-2-5 15:57:29 [显示全部楼层] 只看大图 回帖奖励 阅读模式 关闭右栏 0 3850
本帖最后由 Oner 于 2017-2-5 17:06 编辑
问题导读:
1. 如何创建Scala项目?
2. 如何添加本地依赖?
3. 如何设置源目录?




接上篇:about云日志分析项目准备10:使用Intellij Idea搭建Spark Streaming开发环境(SBT版本)
上一篇,我们讲解了如何使用Intellij Idea来构建基于SBT的Spark Streaming项目,使用SBT可以很好地解决一些依赖问题,但是有一个不好的地方是因为国内的环境原因,如果不翻墙,很多依赖没法下载,所以这一篇我们讲解如何手动添加依赖。

创建项目

20170124200450.jpg

20170205143947.jpg

20170205144546.jpg
注意:上一篇中我们创建的是SBT项目,这一篇中我们直接创建Scala项目

添加依赖

首先需要本地解压Spark 1.6.3的压缩包,我们需要的文件其实就是解压目录的lib文件夹下的jar包。我的机器上的jar包目录在 D:\software_work\spark-1.6.3\spark-1.6.3-bin-hadoop2.6\lib
20170205145828.jpg

然后在Intellij Idea中进行如下操作(快捷键:Ctrl+Alt+Shift+S): 20170205145959.jpg

20170205150138.jpg

20170205150551.jpg

20170205150636.jpg

20170205150845.jpg

之后我们会发现项目的 External  Libraries目录中多出来我们命名的依赖:
20170205151013.jpg

至此,我们的依赖添加完成。

工作目录准备

取消src的源目录属性
20170205153210.jpg
完成后,细心的同学会发现之前src是蓝色的,取消源目录属性后变成了灰色的。

使用下图中的步骤在src目录下创建main和test子目录
20170205153751.jpg
然后在main和test目录下分别创建scala子目录,创建完成后如下所示:
20170205154346.jpg
之后将main和test目录下的scala目录分别设置为源目录
20170205154600.jpg
完成后发现颜色变成了蓝色
20170205154728.jpg

编写代码

在test/scala目录下创建一个名为StreamingDemo的Scala Object。创建过程可参考上篇文章。
创建完成后如下所示:
20170205154847.jpg

将上篇文章中的代码拷贝过来。

测试程序

参看上篇文章,很不幸的是,按照上篇文章的测试方法,我们运行程序时会报错
Exception in thread "main" java.lang.NoSuchMethodError: scala.collection.immutable.HashSet$.empty()Lscala/collection/immutable/HashSet;
20170205165357.jpg


这是因为使用的Scala版本(2.11.8)和spark1.6.3版本不兼容所致。我们需要将scala的版本降级到2.10版本,比如2.10.6。解决办法:
Ctrl+Alt+Shift+S快捷键进入Project Structure,然后删除scala2.11.8依赖:
20170205165841.jpg
删除后,点击“+”:
20170205170005.jpg
选择scala2.10的一个版本(这儿是2.10.6),如果没有scala2.10版本,则点击 “New Library”来添加一个。

20170205170221.jpg

之后回到Project Structure界面点击“OK”。之后会发现项目的External Libraries目录中的scala版本变为了2.10.6。之后等项目刷新完成后重新运行城西即可解决(若不行,重启Intellij Idea,再不行重启电脑)。

没找到任何评论,期待你打破沉寂

关闭

推荐上一条 /2 下一条