1. 使用openfire源代码进行项目工程建立
首先新建java Project , 选中“已有源码”
之后点击next,eclipse会自动进行解析加载类包和jar包等一系列classpath配置,之后直接点finish,在workspace就出现一个新建立的工程了,我这边的工程名为openfire_src
2. 缺少jar包的导入
当然,完成上面一些步骤,你会发现,其实系统还是会报错的。
因为openfire源码中没有包含coherence.jar和tangosol.jar包,这两个包在coherence3.3b版本中可以适用。(3.7版本的太先进,导入会发现有一些API找不到)
将2个jar包导入openfire_src/build/lib下,然后在jar上右键buildpath加入classpath即可。
另外,可能sip插件里面的代码也会报错,我这里的解决方法是直接找java文件,然后使用eclipse自带提示操作方法。一般都是没实现接口方法或者没捕获异常等
3. 配置编译环境
Openfire使用ant进行编译,另外还使用了install4j这个转exe工具,所以你还需要安装install4j到C:\Program Files\install4j下。注意,这是一个默认的文件路径。
如果不使用默认的文件路径,那么你需要到openfire_src/build下的
build.properties.template , 修改并设定install4j的所在路径。
4. eclipse中开始编译(也可使用第5步骤,在独立ant中编译)
点击window – Show view – Ant , 在弹出的Ant窗口中,点击添加按钮,找到openfire_src/build/build.xml文件,打开,之后选中openfire[default](蓝色项),运行编译即可。
运行完毕后,在文件夹中就多了一个target文件夹,里面有可发布的openfire目录了。
打开target/openfire/bin/ openfire.bat , 即可启动openfire。
5. 命令窗口cmd中使用openfire源码自带的build.xml,可使用的ant命令编译(可选)
http://www.igniterealtime.org/builds/openfire/docs/latest/documentation/source-build.html#tasks
在path加入ant/bin的情况下,进入openfire的build.xml所在文件夹,可以输入以下命令:
ant -- 等同于ant openfire , 编译openfire自身
ant openfire
ant plugins -- 编译插件 , 会在target/openfire/plugins下生成jar插件包
ant clean – 清楚target文件夹
6. 基本完成资源的添加和代码的编译了,之后我们要进行
运行时的配置,用于代码研究调试。
单击run – Run Configurations ,
l 在Main选项卡中的Project项中选择openfire_src , 也就是你建立的工程名,在Main class项中选择ServerStarter类。
l 在Arguments选项卡中的VM arguments中加入
DopenfireHome="${workspace_loc:openfire_src}/target/openfire
即openfire的主目录
l 在ClassPath选项卡中,单击UserEnties – 点击右边的Advanced按钮 – 选中Add Folders – 点击OK – 选择openfire_src/src/i18n 文件夹。
以同样方法再导入openfire/src/resources/jar,openfire/src/test/resources
l 在Common选项中勾选run 和 debug (可选)
l 直接run运行
7. 完成以上步骤,基本上就可以进行对openfire源码的debug调试、学习了