[一]、下载源码
打开网址:http://www.igniterealtime.org/downloads/source.jsp 选择目前最新版本 openfire_src_3_9_1.zip 下载。
[二]、配置Eclipse项目
1、把下载好的 openfire_src_3_9_1.zip 压缩包直接解压到Eclipse的工作目录(以 D:\openfire\ 如下图为例)
2、把 openfire_src\build\eclipse 目录下的文件夹setting、文件classpth、文件project全部copy到 openfire_src\ 目录下,然后把openfire_src\classpth、openfire_src\project修改成Eclipse工程配置文件格式:openfire_src\.classpath 、openfire_src\.project (如果无法修改文件名,copy任一现有项目的文件后修改其内容亦可)。
3、然后打开Eclipse,选择 File –> Import… –> Existing Projects into Workspace 选择D:\openfire 导入即可:
导入后目录结构如下:
3、项目导入后编译错误的解决
目录:/openfire/src/plugins/clustering/src/java 报错是因为缺少coherence相应的包:coherence.jar、coherence-work.jar,具体信息可以参考:openfire/src/plugins/clustering/lib/README.TXT 中的说明。可以从其官网下载:http://www.oracle.com/technetwork/middleware/coherence/downloads/index.html。
下载jar包后copy到目录:/openfire/src/plugins/clustering/lib 下,把这两个jar 添加到classpath中,直接在/openfire_src/.classpath 文件中添加如下内容即可:
<classpathentry kind="lib" path="src/plugins/clustering/lib/coherence.jar"/>
<classpathentry kind="lib" path="src/plugins/clustering/lib/coherence-work.jar"/>
目录:/openfire/src/plugins/sip/src/java 报错是因为 SipCommRouter.java和SipManager.java 这两个类没有实现抽象方法和完成异常处理,最简单的解决办法是利用Eclipse自动修复功能进行修复即可。
CertificateManager类,deros.writeObject(csr.toASN1Primitive());这一行代码会报错,是因为toASN1Primitive()这个方法不存在,具体修改如下图:
[三]、ANT编译项目
Eclipse已经集成了Ant,所以我们只需要在 /openfire/build/build.xml 文件右击,选择Run As –> Ant Build 即可完成编译,编程成功后,会在/openfire/的跟目录下生成两个新的文件夹:target 和 work 。