分享

Ubuntu12.04(64bit)上部署编译运行Openfire+Spark环境

本帖最后由 xioaxu790 于 2014-8-22 16:14 编辑
问题导读
1、如何添加lib库到工程中?
2、怎样配置管控平台?

3、配置Run Configurations,运行时提示错误,怎么办?




一、环境
1.jpg

2.png
3.JPG


一、下载Openfire源码
htp://www.igniterealtime.org/downloads/source.jsp

openfire_src_3_9_1.zip 点击下载

下载完毕后解压资源到某个路径下

relsese版本下载连接:

http://www.igniterealtime.org/downloads/index.jsp

二、编译源码
打开Eclipse,新建工程,use default location选择openfire解压路径
4.png


1.png


1.jpg


新建编译项
Window->Show view->Ant
在ant窗口中点击Add buildfiles,在buildfile selection窗口中选择openfile工程中的build.xml,点击OK
111.JPG


展开Openfire XMPP Server项,在众多项中选择openfire[default],右键Run as->Ant Build进行编译。
编译通过后提示BUILD SUCCESSFUL
2.png


编译成功后,工程目录结构下多出两个目录target和work
12.png


三、添加lib库
将刚才生成的目录target/openfire/lib下所有jar包添加到工程中
2222.png


111111.png


四、配置run configurations
在Main标签页的Main class点击Search,搜索ServerStarter,选中ServerStarter – org.jivesoftware.openfire.starter,勾选Include system libraries when searching for a main class。
122.png


Arguments标签页中VM arguments属性填入:-DopenfireHome="${workspace_loc:openfire}/target/openfire
注意:冒号后的openfire是工程名,与你当前的工程名保持一致,否则运行会出现异常。
2222.png


在Classpath标签页中,选中User Entires,点击Advanced,选择Add Folders,点击OK,分别添加openfire/src/i18n和openfire/src/resources文件夹。
33.png

333.png


33.png

在Common标签页中,选中Debug和Run,保存配置。
111.png

点击Run按钮运行,编译完成了,应该不是太难。



五、运行openfire管控后台
在浏览器中输入http://127.0.0.1:9090,进入后台管理界面。
4.png

六、配置管控平台
111.JPG


这里的域名可以任意填写,就是服务器名称,客户端向好友发消息时会用到该名称,比如向好友gerry发消息时,代码中可能会这样写gerry@simon


选择标准数据库连接,使用了外部的MySQL数据库,本地需要安装后进行连接。
22.png


这里选择了MySQL作为数据库,需安装MySQL,并创建openfire数据库
数据库URL:替换本地ip和数据库名,去除左[右]括号

99.JPG




七、下载Spark源码

参考Spark编译运行
http://community.igniterealtime.org/docs/DOC-1020

从SVN上获取源码
http://www.igniterealtime.org/downloads/source.jsp
0000.JPG


八、导入Spark源码到Eclipse

99.JPG



九、编译Spark源码

添加Ant编译文件
222.png


运行ant编译
77.png


当前ant版本为1.9.x,编译会出错,要求Ant版本1.6.x或1.7.x,JAVA版本1.5.x或1.6.x。
BUILD FAILED

/usr/gym/pm/tech/Openfire/Spark/spark_2_5_6_branch/build/build.xml:129: Must use Ant 1.6.x or 1.7.x to build Spark
可以修改build.xml中对ant和java版本的要求。
  1. <condition property="ant.not.ok" value="true">
  2. <not>
  3. <or>
  4. <contains string="${ant.version}" substring="1.6"/>
  5. <contains string="${ant.version}" substring="1.7"/>
  6. <contains string="${ant.version}" substring="1.8"/>
  7. <contains string="${ant.version}" substring="1.9"/>
  8. </or>
  9. </not>
  10. </condition>
  11. <condition property="java.not.ok" value="true">
  12. <not>
  13. <or>
  14. <contains string="${ant.java.version}" substring="1.5"/>
  15. <contains string="${ant.java.version}" substring="1.6"/>
  16. <contains string="${ant.java.version}" substring="1.7"/>
  17. <contains string="${ant.java.version}" substring="1.8"/>
  18. </or>
  19. </not>
  20. </condition>
复制代码

ant下载地址:http://ant.apache.org/bindownload.cgi
再次编译则编译通过,项目工程中多出target目录


十、配置Run Configurations,运行
保存配置,点击Run
会有提示错误
  1. java.lang.reflect.InvocationTargetException
  2. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  3. at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
  4. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  5. at java.lang.reflect.Method.invoke(Method.java:606)
  6. at org.jivesoftware.launcher.Startup.start(Startup.java:83)
  7. at org.jivesoftware.launcher.Startup.main(Startup.java:33)
  8. Caused by: java.lang.Error: Unresolved compilation problems:
  9. GSSAPIConfiguration cannot be resolved to a type
  10. GSSAPIConfiguration cannot be resolved to a type
复制代码

解决方案:
将Spark/spark_2_5_6_branch/src/java中的GSSAPIConfiguration.java移动到Spark/spark_2_5_6_branch/src/java/org/jivesoftware目录下,再次编译-RUN

参考:
http://community.igniterealtime.org/thread/38439
99.png


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

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条