您的位置:首页 > 编程语言

Openfire代码阅读之一--环境配置

2010-03-17 14:31 302 查看
JiveSoftware成立于2001年,总部位于美国波特兰。对于JiveSoftware,各位搞IT的专业人士不会陌生,他的Jive论坛写的可是惊天地,泣鬼神。遍布各处的设计模式,让我等是触目惊心,小心肝乱跳。一度“圈内“流行信Jive,得永生”的口号。

设计模式在jive论坛中得到了很好的体现。结合他的源程序和GOF的《设计模式》,可以很快的提升自己的程序设计能力。在日常的程序开发过程中,可以很自然运用一些设计模式,工厂模式,监听者模式,策略模式等,可以使自己的程序具备很好的兼容性,稳定性,扩展性。。。。好吧,学习完设计模式可以让你的老板给你加工资,可以让你们公司漂亮的前台小姐和你去全国最a大的连锁餐饮---沙县小吃去约会。

Openfire也是这个公司的一个开源的XMPP服务器程序,笔者稍微看过几次,每次都有不同的感想。于是把他记录下来,以后慢慢温故。

 

1. Java/svn/Eclipse的安装

算了,地球人都会安装,不作介绍了。

 

2. 代码下载:

安装好了svn以后,可以通过

svn co http://svn.igniterealtime.org/svn/repos/openfire/trunk openfire 

 

取得最新的源代码,由于时间的关系,我无法穿越,下载的是"revision 11665"这个版本,后续的分析可能会改变版本,但是"who care"?我们是学习的,又不是开发商业程序的。能说明问题就好。

 

以下以[openfireSourceHome] 代替你本机的源代码目录。

3. Eclipse 设置。

 

3.1 "File"-->"New Java Project"

 





 

选中”Create project from existing source",然后“Browse"到你的代码目录, 然后一路”Next",直到"Finish"

 

3.2 编译Openfire

 

打开"Ant"这个View ("Window"-->"Show View"-->"Ant"), 在ant view里面右键选择"Add Buildfiles", 打开文件的目录选择[openfireSourceHome]/build/build.xml

 



 

忽略我上面的openfire目录吧,把你的注意力放在openfire1目录。因为我很懒,不想删掉我建立的openfire工程,甚至我都不想打马赛克,虽然这样对于淫荡的人就没有诱惑性。再勤劳你能有小红花戴?

 

因为build.xml默认的target就是编译openfire整个文件,所以直接双击Ant View里面的标题就开始编译程序了。

 

什么?编译不通过?不可能的,你什么单位的?你替领导说话还是替程序员说话?

 

3.3 建立调试环境

 

上面建立的环境是可以编译,打包和部署的,不过不方便调试,为了调试,需要设置一下项目的一些属性

 

"Run"-->"Run Configurations" -->"Java Application" 新建立一个,在"Main“这个标签里面作如下设置:

 



 

选中"Arguments"标签,作如下设置:

 



 

注意我的设置和后面给的参考资料,openfire官方的设置有点不同,他的arguments设置的是 -DopenfireHome="$/target/openfire" 可是在我的机器上面就是编译不成功,所以我改了一下。

 

因为一些程序的资源目录分散在几个不同的目录下,把他加入进来。 “ Classpath"-->"User Entries"---> Advanced-->"Add Folders"-->然后选择你的i18n目录

 

同样的步骤,再次分别添加” resources/jar"目录和"build/lib/dist"目录,添加好以后,会有如下显示:

 





 

 

为了方便运行,分别在common里面把“Debug","Run"勾上。

 

 

3.4 运行:

 

在"Run"-->"Run History"里面就可以看到你刚才配置的"openfire"选项,直接选中就可以运行了。

 

如果你想调试怎么办,我考,你不会去"Run"-->"Debug History"去看看?

 

基本环境配置就完成了,下一次,我会记录Openfire的模块化设计的读后感。

 

官方的Eclipse+openfire+svn配置说明:

 

http://www.igniterealtime.org/community/docs/DOC-1020
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息