今天心血来潮下载了Openfire的最新源码3.6.4重新布署,结果失败。折腾了几十分钟才搞定,于是记录此过程方便参考。
一)准备工作
  开发工具:MyEclipse 6.6
  ×××:官网地址 http://www.igniterealtime.org/projects/openfire/,偶下的3.6.4。
二)解压源码
  将源码解压到硬盘上。如图:
Openfire源码布署与打包_第1张图片
三)创建工程
  1、启动MyEclipse
  2、[File]-->[Switch Workspace]-->[Other...]
  3、在Workspace输入框中选择先前源码的解压路径。如图(注意此处与上图的区别): 
Openfire源码布署与打包_第2张图片  
  4、MyEclipse重启后新建一个Java Project
  5、在对话框的Project name中输入工程名;选中Create project from existing source项;在Directory中输入源码的路径(此值与第一个图的地址是相同的)。如图: 
Openfire源码布署与打包_第3张图片
  6、点击Finish,MyEclipse会将源码列出。如图:
Openfire源码布署与打包_第4张图片
四)编译
  1、[Window]-->[Show View]-->[Ant]
  2、在Ant视窗中点右键,选择[Add Buildfiles...]。如图 
Openfire源码布署与打包_第5张图片  
  3、在打开的对话框中选择Openfire/build/build.xml后点[OK]按钮。如图: 
Openfire源码布署与打包_第6张图片
  4、展开Openfire XMPP Server树,在openfire上点键;[Run As]-->[Ant Build]开始编译。如图:
  Openfire源码布署与打包_第7张图片
  编译完成后会在Console视窗中提示BUILD SUCCESSFUL表示openfire编译成功。
  5、按上面相同的方法编译plugins。
五)配置调试与运行环境
  1、当全部编译完成后,在Package Explorer视窗中按[F5]键以更新目录结构。此时在目录中会添加两个新的结点。如图: 
Openfire源码布署与打包_第8张图片
  2、打开工程属性对话框,Java Build Path/Libraries页面,点击[Add JARs...],将Openfire/target/openfire/lib下面的所有jar文件添加进来。如图: 
Openfire源码布署与打包_第9张图片
  3、[Run]-->[Open Run Dialog...]打开对话框。
  4、Main页面。在Project选项中点击[Browse...]按钮,选择Openfire。
在Main class选项中点击[Search...]按钮,在打开的对话框中输入ser后,选择ServerStarter双击。如下图:  
Openfire源码布署与打包_第10张图片
  设置结果如下图: 
Openfire源码布署与打包_第11张图片  
  5、Arguments页面。在VM arguments中加下内容-DopenfireHome="${workspace_loc:Openfire}/target/openfire"。如图: 
Openfire源码布署与打包_第12张图片
  6、Classpath页面。选中User Entries,点击[Advanced...],在打开的对话框中选择Add Folders,点[OK],在打开的对话框中选择Openfire/src/i18n双击。如图 
Openfire源码布署与打包_第13张图片
  按照上面的方法将Openfire/src/resources也添加进来。最后的结果如图: 
Openfire源码布署与打包_第14张图片
  7、Common页面。选择Run、Debug。如图: 
Openfire源码布署与打包_第15张图片  
  8、点击[Apply]保存,再点[Run]在开发环境运行Openfire。
六)打包发布
  安装Install4j后,Ant视窗中对Installer进行Build就Ok了。只是要配置Default VM Arguments的内容为-Xms64m -Xmx512m。如图:
Openfire源码布署与打包_第16张图片