Spark源码在Eclipse中部署/编译/运行
(1)下载Spark源码
到官方网站下载:Openfire、Spark、Smack,其中Spark只能使用SVN下载,源码的文件夹分别对应Openfire、Spark和Smack。
直接下载Openfire、Smack源代码
下载地址:http://www.igniterealtime.org/downloads/source.jsp

利用SVN方式下载Spark源代码
1.为Eclipse安装Subversive插件
A 启动Eclipse
B 依次点击Help->Install New Software...->Add
C 输入框里Name输入Subversive,并且在URL输入框里输入http://www.polarion.org/projects/subversive/download/1.1/update-site(最新的Subversive URL地址在http://www.eclipse.org/subversive 上查询)
D 点击Finish开始安装Subversive,Eclipse将搜索网站并且在下一个窗口中显示你想安装的功能,选择安装Subversive SVN Team Provider Plugin 和 Subversive Client Libraries下面所有的功能
E 点击Next,Eclipse开始安装,安装结束后重启Eclipse
2.利用svn下载spark代码
A 点击如下Windows::Open Perspective::Other...
B 弹出一个“Open Perspective”对话框,选择“SVN Repository Exploring”,单击OK
C 这时Eclipse界面发生变化,在左边的“ SVN Repositories”面板上右击鼠标,选择New::Repository Location...
D 在“New Repository Location”的位置输入“http://svn.igniterealtime.org/svn/repos”,单击 “Finish”
E 在SVN Repositories面板上会发生变化,展开它并找到spark的选项,右击spark下面的trunk项并选择“Check Out”下载spark代码
F 下载完成后选择Window::Open Perspective::Java,在Project Explorer面板上会看到Spark项目,删掉它,在弹出来的对话框中选择“Do not delete contents”,然后在工作目录下面找到spark文件夹,它就是spark的源代码
利用SVN客户端从官网下载Spark源代码
1.新建个文件夹作为检出文件的根目录,命名为 spark_2.6.1,打开该文件夹,空白处右键 ——> SVN检出(要已安装SVN客户端右键才有这个菜单)
2.“版本库 URL:” 中输入官网下载地址 http://svn.igniterealtime.org/svn/repos/spark ,然后点击浏览(图中标红的按钮,注意一定要进去浏览,不然就会把官网所有的版本下载下来,会很大超级慢)

3.进来后我们会看到如下的结构树,其中trunk是最新版本,tags是之前的版本,如果要下载最新版就在左侧选中trunk 或者右边双击trunk文件夹;如果要下载其他版本就展开tags文件夹,再选要下载的文件夹,然后确定—>确定,开始下载。



(2)导入工程
1.打开Eclipse。
2.创建Java project,命名为spark(建议用这个名字),其Contents中选择“Create project from existing source”,然后将下载的spark源代码文件所在的文件夹加进去。
或者在Eclipse的工作空间workplace文件夹中直接新建一个名为spark的文件夹,将下载的spark源代码的三个文件夹(如下图)复制一份,粘贴到新建的spark文件夹中,再重新启动Eclipse定位到此workplace,在 Package Explorer下右键—>New—>Java Project,命名为spark(此处和workplace中新建的文件夹名称一致),Finish后便直接加载项目进来了。

加载进来后会有一些红色错误和黄色警告,其它教程说把带红色错误的包直接删除掉,其实不删也没什么影响。
3.在Eclipse的Package Explorer中显示如下图所示:

(3)生成、编译、运行Spark
生成Spark
1.点击Window->Show View->Ant
2.右击Ant面板,选择Add Buildfiles
3.展开spark下的build文件夹,选择build.xml文件,点击OK
4.在Ant面板展开spark,双击“release[default]”,如右图。
5.等一段时间会提示“BUILD SUCCESSFUL”(若没有显示,再次双击“release[default]”)
一直显示BUILD FAILED,提示Must use Ant 1.6.x or higher to build Spark,说明Eclipse自带的Ant版本较低,需要修改Eclipse的Ant在1.6.x ~1.7.x 之间:
A Windows---Preferences---Ant---Runtime
B 选中Ant Home Entries(Default)点击左边的箭头,展开里面的jar包,把里面的这些自带的jar全删掉
C 点击Add External JARS... 进入已下载的更高版本的Ant的安装目录(C:\Apache Spark\apache-ant-1.7.0\lib),把目录下的jar全选添加进来即可
6.生成target文件夹,重新编译时,要手工删除此文件夹


编译Spark
1.点击Run->Run Configurations
2.点击Main
Name填写:Spark
Project:Spark(选择Spark工程)
Main class:org.jivesoftware.launcher.Startup(启动类)
勾选Stop in main

3.点击Classpath标签页
选择User Entries ,使得Advanced..按钮变的可用.点击Advanced按钮.在弹出来的Advanced Options窗口,选择Add Folders,再点OK,在Folder Selection窗口选择spark::src::resources 文件夹,点击OK

4.选择Common标签页,勾选Debug,Run前面的框。点击Apply,再点击Close。
运行Spark


Spark源码在Eclipse中部署/编译/运行的更多相关文章
- 将Android源码导入eclipse中的方法以及编译Android源码指定模块
本文博客地址:http://blog.csdn.net/qq1084283172/article/details/53365659 将android源码导入eclipse.androidstudio. ...
- Spark源码分析:多种部署方式之间的区别与联系(转)
原文链接:Spark源码分析:多种部署方式之间的区别与联系(1) 从官方的文档我们可以知道,Spark的部署方式有很多种:local.Standalone.Mesos.YARN.....不同部署方式的 ...
- 搭建openfire Android 客户端学习和开发【二】spark源码导入eclipse
首先声明下 这是我在eoe上转载的 写的很好就摘抄了... 第一步 下载源码 svn下载,下载地址:spark:http://svn.igniterealtime.org/svn/repos/spar ...
- 如何导入外部的源码到eclipse中
用struts,spring等框架开发也有两年的时间了,一直很少去阅读其源码,每次在eclipse编码的过程中想要看某一个类的源码,ctrl点击总是出现source not found的提示,也没有去 ...
- jmeter源码导入eclipse并完成编译
其次是去ant官网下载最新版的ant二进制包,安装ant,并配置环境变量ANT_HOME,Path:验证安装是否成功: apache-jmeter-3.0的要求). 1.在eclipse中新建java ...
- Tomcat源码分析----eclipse中搭建源码环境
前提:JDK,至少1.7,ant,要设置ANT_HOME环境变量,需要再classpath中增加ant的lib目录,在path变量中增加ant的bin目录 1.官网下载tomcat源码包:apache ...
- [Tomcat源码分析] Eclipse中搭建Apache Tomcat源码调试环境
网上很多文章都推荐使用Ant下载编译,但本地实践中屡屡失败,无法下载. 后来参考 https://blog.csdn.net/xiongyouqiang/article/details/7894107 ...
- [置顶] 我的Android进阶之旅------>如何将Android源码导入Eclipse中来查看(非常实用)
Android源码下载完成的目录结构如如所示: step1:将.classpath文件拷贝到源代码的根目录 Android源码支持多种IDE,如果是针对APP层做开发的话,建议大家使用Eclipse开 ...
- Spark 源码解析 : DAGScheduler中的DAG划分与提交
一.Spark 运行架构 Spark 运行架构如下图: 各个RDD之间存在着依赖关系,这些依赖关系形成有向无环图DAG,DAGScheduler对这些依赖关系形成的DAG,进行Stage划分,划分的规 ...
随机推荐
- my_ls
#include<stdio.h> #include<dirent.h> #include<string.h> #include<sys/types.h> ...
- Linux系统管理命令之权限管理
对于一个目录来说,x权限:可以cd进去 对于目录: 读:看 执行:进去 写:写操作 rw权限没有意义 umask 022 特殊权限: suid sgid 2种情况:对于文件:类似于suid对于 ...
- Linux下Awk详解(转载)
什么是Awk Awk是一种小巧的编程语言及命令行工具.(其名称得自于它的创始人Alfred Aho.Peter Weinberger 和 Brian Kernighan姓氏的首个字母).它非常适合服务 ...
- jQuery中大于gt和小于lt
gt,lt计数都是下标从0开始,而且不论大小于,都不包括它自己本身. <!DOCTYPE html> <html> <head> <meta charset= ...
- speex进行音频去噪
应用speex进行音频去噪,speex功能很强大,因为opus的出现,用speex进行编码/解码的人几乎没有了,但是用speex来进行降噪,去除回声,增益还是很多. 这里用speex进行音频去噪,主要 ...
- AngularJS基础概念
作用域.控制器.指令 作用域 应用的作用域是和应用的数据模型相关联的,同时作用域也是表达式执行的上下文.$scope对象是定义应用业务逻辑.控制器方法和视图属性的地方. 作用域是应用状态的基础.基于动 ...
- TFS代码变更和工作项关联,为系统变更提供完美的跟踪轨迹
TFS是微软的应用软件生命周期管理(ALM)的解决方案产品,相比我们常见的一些ALM产品,例如HP ALM, IBM Rational, Atlanssian Jira等,其最大的区别在于TFS将软件 ...
- Stanford机器学习笔记-8. 支持向量机(SVMs)概述
8. Support Vector Machines(SVMs) Content 8. Support Vector Machines(SVMs) 8.1 Optimization Objection ...
- 中国移动测试大会 PPT 和视频
PPT网盘链接:http://pan.baidu.com/s/1c0prdoG优酷专辑:http://v.youku.com/v_show/id_XMTI5NjExNjIwOA==.html?f=25 ...
- Java面向对象编程 第二章 第一个Java应用
2.1创建Java源文件 Java应用由一个或多个扩展名为".java"的文件构成,这些文件被称为Java源文件,从编译的角度,则被称为编译单元. 本章包含两个Java源文件:Do ...