openfire开发

openfire github地址:https://github.com/igniterealtime/Openfire

1、下载源代码:http://www.igniterealtime.org/downloads/source.jsp

2、把源代码解压出的openfire_src文件夹放至eclipse workplace(注意:若是变更了解压出来的文件名,则接下来所有用到文件名的地方都要作出相应更改,否则会报错!)

3、把openfire_src文件夹里的三个无用的html文件删除

4、打开eclipse,新建一个名为openfire_src的Java Project,然后finish

5、项目建好后如图所示,其中有几个目录报错,是由于缺少3个jar包:coherence.jar、coherence-work.jar、tangosol.jar

6、下载这几个jar包,然后复制到/openfire_src/build/lib目录下 

下载地址:http://download.csdn.net/download/makeafish/7351065

7、选中3个新添加的jar包,点击右键,选择Build Path -> Add to Build Path,总之增加到build path。

8、把jar包编译后还是会有报错,如图,解决办法是直接找到java源文件SipCommRouter.java和SipManager.java ,使用eclipse的自动修复,把错误修复,一般是没有实现抽象方法和没有处理异常。 (我没有这个问题)

9、点击Window -> Show View -> Ant,在Ant中选择Add Buildfiles,将build目录下的build.xml选中,然后ok

10、把Java JDK的lib目录下的tools.jar包拷贝到 Java JRE的lib目录下 (我没这么做)

 

11、运行选中的文件 build.xml

12、运行成功后,刷新工程,目录多出两个文件夹

13、将target/lib目录下的所有jar包选中,单击右键,选择Build Path –> Add to Build Path(和步骤7相似)

14、选中项目,点击run -> run configurations

15、选择run configurations左边的Java Application,单击右键,选择New

16、选中Main选项卡,点击Browse选择openfire_src项目;单击Search选择ServerStarter - org.jivesoftware.openfire.starter,结果如下

17、选中Arguments选项卡,在VM arguments中填入

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

这个是用于eclipse执行java命令时传递的参数,这样openfire程序可以通过 System.getProperty(“openfireHome”)得到openfire的本地位置。 

注意:这里的openfire_src换成你自己工程的名字。

18、选中Classpath选项卡,选中User Entries,点击右边的Advanced按钮

19、在弹出的框中选中Add Folders,选中src/i18n文件夹,点击ok

20、重复上一步骤把src/resources选中添加,结果如下:User Entries下多了两个文件夹

21、选中Common选项卡,将Debug和Run打钩,然后点击apply,再点击run

22、成功运行结果

我的是:

主要参考: http://blog.csdn.net/ares1201/article/details/7737872

http://li-bonan.blog.163.com/blog/static/135564770201211172228795/

http://xiao9.iteye.com/blog/1109390

http://my.oschina.net/u/1409622/blog/205603

参考上面的没有成功:参考下面的教程:

最近在用openfire开发ios通讯功能,需要开发一个推送插件,导入openfire3.9.3的源码一直报错很郁闷,以下是解决源码导入eclipse报错的方法

入正题,看到这篇文章的的网友应该已经安装了jdk,eclipse,我就不在安装这些开发工具上赘述了,附载一下openfire的下载地址:http://www.igniterealtime.org/downloads/index.jsp

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

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

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

4、然后打开Eclipse,选择 File –> Import… –> Existing Projects into Workspace  选择F:workspaceopenfire_src 导入即可:

 

导入后目录结构如下:

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

这说明这个jar包缺失了,将bouncycastle.jar 加入工程就好了,

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

点击OK以后,我们发现openfire_srcsrcjava上的错误已经没有了。

(这里麻烦的是,我这么做之后/openfire_src/src/java/org/jivesoftware/util/CertificateManager.java

依旧报错:3个错误

看到一个博主写的:

有这3个错误,第一个强制转换类型就行了,第二个改为:csr.toASN1Object(),因为不提供那个方法了,第三个直接放othernameGN,也就改成:  GeneralNames subjectAltNames = new GeneralNames(othernameGN);估计是构造方法不一样了吧!这三个的修改方式是我自己想出来的,并不能保证完全正确,如果你有更好的也可以选择使用;到目前为止,江山一片红的现象没有了!我看到有的导入方式和我的不太一样,还需要删除一些插件,这些我目前还不太了解源码所以没有选择!参考:http://www.2cto.com/os/201403/284316.html

openfire_srcsrcpluginsclusteringsrcjava报错,是因为缺少coherence.jar,coherence-work.jar,tangosol.jar这三个jar包,我们将复制到openfire_srcsrcpluginsclusteringlib目录下,然后将这三个jar包,加入构建路径:

下载地址:http://dl.iteye.com/topics/download/5ed3a613-212e-3bd1-9201-ebd4de176fd5

这时我们发现openfire_srcsrcpluginsclusteringsrcjava上的错误已经消失了,需要的包我会上传到附件

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

接下面可以编译运行openfire,当然也可以下载相应系统的安装文件安装

5、ANT编译项目

Eclipse已经集成了Ant,所以我们只需要在 /openfire_src/build/build.xml 文件右击,选择Run As –> Ant Build 即可完成编译,编程成功后,会在/openfire_src/的跟目录下生成两个新的文件夹:target 和 work 。

6、运行Openfire项目

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

 ②配置启动参数

选择Run –> Run Configurations…  接下来的操作和上面一样了。

参考:http://blog.csdn.net/lovexieyuan520/article/details/37743433

更多:

openfire jdk开发文档:http://wenku.baidu.com/link?url=UFszwuCOltemrGodpbHyoFlDCABDlBH-HPcyNn_NhrJ1__SZOR9RfL_NZgsFAyQ5dLwB7nmIIzDVbVZqGkJFgVaVkJ6Crwu__xjnp-YmNRW

 http://hi.baidu.com/derekwendy/item/2ad7cb13c0c87e15e3f9861f

http://www.micmiu.com/opensource/openfire/openfire-src-config/

http://www.cnblogs.com/jarrah/archive/2012/03/29/2423382.html

原文地址:https://www.cnblogs.com/youxin/p/3966257.html