Openfire和Spark在Eclipse中部署/编译/运行
一、Openfire源码在Eclipse中部署/编译/运行
(1)下载Openfire源码 (下载步骤)
到官方网站下载:Openfire、Spark、Smack,其中Spark只能使用SVN下载,源码的文件夹分别对应Openfire、Spark和Smack。(根据需要下载对应的Openfire、Spark和Smack)
直接下载Openfire、Smack源代码
下载地址:http://www.igniterealtime.org/downloads/source.jsp
利用SVN客户端从官网下载Spark源代码
1.新建个文件夹作为检出文件的根目录,命名为 spark,打开该文件夹,空白处右键 ——> SVN检出(要已安装SVN客户端右键才有这个菜单)
2.“版本库 URL:” 中输入官网下载地址 https://github.com/igniterealtime/Spark.git ,然后点击浏览(图中标红的按钮,注意一定要进去浏览,不然就会把官网所有的版本下载下来,会很大超级慢)
3.进来后我们会看到如下的结构树,其中trunk是最新版本,tags是之前的版本,如果要下载最新版就在左侧选中trunk 或者右边双击trunk文件夹;如果要下载其他版本就展开tags文件夹,再选要下载的文件夹,然后确定—>确定,开始下载。
(2)导入工程
下载完成后需要将压缩文件解压至Eclipse常用workspace中:
新建Java Project将工程名称命名为openfire_src与工作目录中文件名一致。
一路next、finish
(3)配置打开服务器
选择window——》show View——》Ant
点击 Add Buildfiles 按钮
点击build.xml文件
右击Openfire XMPP Server——》Run As——》Ant Build
刷新工程,工程中多出work和target(有时没有,刷新工程才会出现)两个文件夹。
右击工程出现Run Configration 选择 Java Application Welcome
在Main标签中点击Search按钮寻找ServerStater类否则出现Main
type not specified 错误
选中Arguments选项卡,在VM arguments中填入
-DopenfireHome="${workspace_loc:openfire_src}/target/openfire"
注意不要丢了前面一个小横线 如果你的项目名不是openfire_src的话 要换成你的项目名
即 :-DopenfireHome=“${workspace_loc:【项目名】}/target/openfire”
然后选择classpath选项卡
选中User-Entries –> 选择右侧的Advanced…–>选择Add Folder分别添加src/i18n 确定。
选择右侧的Advanced…–>选择Add Folder—>build/lib/dist确定。
选择右侧的Advanced…–>选择Add Folder—>src/resources/jar 确定。
点击Apply
点击Run
(4)配置Openfire
在浏览器中输入127.0.0.1:9090
服务器设置直接跳过
二、 Spark源码在Eclipse中部署/编译/运行
(1)下载Spark源码 (步骤在一、(1))
(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]”,如右图。
*
### 说明:选择release[default]项双击,不出意外,你可能会出现如下问题。
原因是eclipse中的ant版本过高或者过低的问题。解决办法很简单。进入eclispe的安装文件夹,plugins下面,找到名字带有ant的文件夹。我的是
根据文件夹名字就知道它是1.9.2的。但是刚才报错居然说ant版本至少在1.6以上,1.9难道小于1.6?其实不是的,很简单。因为build.xml里面可能写有版本限制,直接修改了就行。把build.xml右键用编辑器打开,找到< condition >节点。
发现里面有1.6,1.7,1.8就是没有1.9,直接增加1.9节点,修改后如图:
继续双击release[default],BUILD SUCCESSFUL!
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.1\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.配置Arguments
* 如图,在VM arguments里面输入
-Djava.library.path=build/lib/dist/windows64
* 别忘了前面的"-"。
* 这里的windows64需要根据你自己的电脑来决定写什么,你是64位的windows就写64,不是就不用写64。因为牵扯到引入的dll或者so文件。你是什么系统就选择什么。下图是build/lib/dist/windows64的展开图。
4.点击Classpath标签页
* 选择User Entries ,使得Advanced..按钮变的可用.点击Advanced按钮.在弹出来的Advanced Options窗口,选择Add Folders,再点OK,在Folder Selection窗口选择spark::src::resources 文件夹,点击OK
5.选择Common标签页,勾选Debug,Run前面的框。点击Apply,再点击Close。
运行Spark