openfire+android实现IM



1、下载源码openfire_src_3_9_3.zip,目前最新的版本是3.9.3

2、把下载好的openfire_src_3_9_3.zip解压到工作空间,结构和目录如下:

3、把openfire_src\build\eclipse目录下面的settingsclasspathproject全部复制到openfire_src\目录下,然后把openfire_src\classpthopenfire_src\projectopenfire_src\settings修改成Eclipse工程配置文件格式,重命名为在每个原有的名字上加上一个点,即.classpth.project.settings。注意:在windows下面不能直接重命名,需要在dos下面操作,即进入相应的目录执行,rename classpth.classpth即可,其它两个文件执行一样的操作:

4、然后打开Eclipse,选择 File –> Import…openfire_src导入即可:



导入后目录结构如下:

大家会发现自己这个项目上出现了一个感叹号,进入构建路径,会发现:

这说明这个jar包缺失了,选中这个文件,然后点击右边的Remove按钮,将其移除,当然,我们也可以去网上下载一个,点击右边的AddJARs...将其加上,不过我没加也没出现问题

移除后出现三个错误,没关系,我们一步步修复错误,\openfire_src\src\java报错,是因为有jar包,没有引进来,我们将其引进即可:

注意:一次只能引用一个,所以需要操作四次,才行。点击OK以后,我们发现\openfire_src\src\java上的错误已经没有了。

      \openfire_src\src\plugins\clustering\src\java报错,是因为缺少coherence.jarcoherence-work.jartangosol.jar这三个jar包,我们将复制到\openfire_src\build\lib目录下,然后将这三个jar包,加入构建路径:

这时我们发现\openfire_src\src\plugins\clustering\src\java上的错误已经消失了,这里我提供一下这三个jar包的下载地址,http://download.csdn.net/detail/u013947002/8153483,当然,你也可以去其它地方下载。

最后一个在\openfire_src\src\plugins\sip\src\java上的报错是因为 SipCommRouter.javaSipManager.java这两个类没有实现抽象方法和完成异常处理,最简单的解决办法是利用Eclipse自动修复功能进行修复即可。现在我们发现我们的项目已经没有任何错误了。

5ANT编译项目

Eclipse已经集成了Ant,所以我们只需要在 /openfire_src/build/build.xml 文件右击,选择Run As –> Ant Build即可完成编译,编程成功后,会在/openfire_src/的跟目录下生成两个新的文件夹:target work。(JAVAHOME需要配置正确,这里就不多说了)

6、运行Openfire项目

、在Build Path配置中把 /openfire_src/src/i18n/openfire_src/src/resources/jar/openfire_src/build/lib/dist文件夹添加到 Source 中,如图:

配置启动参数

选择Run –> RunConfigurations…左边的Java Application,单击右键,选择 New:

把默认nameNew_configuration修改成:ServerStarter

选中Main选项卡,点击Browse按钮选择 openfire_src 项目;单击Search按钮输入:ServerStarter自动过滤后选择:ServerStarter– org.jivesoftware.openfire.starter

选中Arguments选项卡,在VM arguments

中填入:-DopenfireHome="${workspace_loc:openfire_src}/target/openfire"

注意:项目路径 ${workspace_loc:openfire_src}

选中Common选项卡,将DebugRun打钩(方便之后快速启动),然后点击apply,再点击run

运行后控制台日志如下:

浏览器中输入地址:http://127.0.0.1:9090回车:

6、选择中文,然后继续。服务器设置可直接跳过。数据库设置选择标准数据库连接,点击继续


 

7、在数据库设置-标准连接设置界面,选择数据库驱动mysql,更改数据库url,其中需要更改的有服务器ip地址,还有数据库名,建议单独建立一个名为openfire的数据库。输入数据库管理员的账号和密码,下一步。


 

8、数据库连接成功后界面,直接点击继续。

 

9、管理员账户设置界面,输入管理员的邮箱地址,还有管理员的账号的密码,初始账号为admin

 

10、完成设置,登录到管理控制台,初始账户名admin密码为上一步设置的密码。

 

11、登陆成功后显示


 

12、检测服务器是否配置成功,到http://www.igniterealtime.org/downloads/index.jsp下载Spark

 

13、安装Spark,一路next,然后finish。运行Spark,创建Spark账号

 

32、使用创建的账号登陆Spark,登陆成功可在Openfire管理控制台的用户组看到新注册的用户和在线状态

到这里服务端算是结束了,接下来就是android端了,android就是用xmpp实现了发送消息,注意把ImManager类的ip改为自己的服务器的ip,这样就可以跑起来了,androidim demo:http://download.csdn.net/detail/u013947002/8153531

初学者,大神请指教

 


展开阅读全文

没有更多推荐了,返回首页