`
zyjwy02
  • 浏览: 141165 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

openfire 源代码研究一 (运行环境的搭建)

阅读更多

关于Openfire的介绍在此不多说了,网上有很多关于这个基于JavaXMPP服务器的介绍,也可以通Jivesoftware的官方网站www.jivesofteware.com来寻找关于Openfire的信息。
 
如果研究Openfire的代码,建议第一步在本机上安装Openfire服务器和Spark这款XMPP的客户端程序,这样既可以熟悉一下Openfire的样态和功能,也可以在以后的源代码调试过程中通过Openfire的目录结构得到帮助.

 

 准备工作:Eclipse环境(当然包括JavaSE),Openfire的源代码包(例如:openfire_src_3_3_2.tar.gz,可到jivesoftware官方网站下载),Mysql数据库V5以上(当然可以用其他数据库,但在此例中选用Mysql作为Openfire的后台数据库)。

 

  第一步:有个好心情,通过Openfire的安装包将Openfire安装在本机上,具体实现见http://blog.csdn.net/expendable/archive/2007/06/25/1666122.aspx这里有详细的介绍。(除了数据库的部分)

  第二步:将openfire_src_3_3_2.tar.gz解压后目录下除了ReadmeLicense以外有四个子目录。

<!--[if !supportLists]-->1.               build目录:build目录下收录的是生成安装文件(例如:rpm)所要的一些文件,例如JRE等。<!--[endif]-->

<!--[if !supportLists]-->2.               resources目录:resources目录下收录的是一些为实现国际化(i18n)和本地化的一些编码文件(例如:英文,中文,法文,德文等)。<!--[endif]-->

<!--[if !supportLists]-->3.               documentation目录:documentation目录下收录的是一些关于Openfire安装和配置的信息,但最终要的是这里有Openfire开发的Javadoc<!--[endif]-->

<!--[if !supportLists]-->4.               src目录:顾名思义这个src文件夹就是我们想要的Openfire源代码了,这下面又有许多文件夹,我们只要Java文件夹就好,这里面实现的Openfire的核心功能,通过它就可以调试Openfire了。<!--[endif]-->

  第三步:在Eclipse中将此Java文件夹当成源代码文件夹新建工程,建立新工程后观察Openfireimport的包,发现Openfire用了许多开源工具,而这些库都在上文提到的Build目录的lib目录下(当然也可以到网上下载),将Openfire用到的库都添加到这个新建工程的Referenced Libraries中。或者如果这样一个一个添加比较麻烦的话还有一个方法就是从你安装好的Openfire服务器目录下的lib目录中(例如:”D:\Program Files\Openfire\lib” “/usr/local/openfire/lib”)找到openfire.jar,打开后将里面的org/jivesoftware删除,重新打包成jar并添加到这个新建工程的Referenced Libraries中,这样省去了很多工作。

  第四步:openfire的起始类为org.jivesoftware.openfire.starter.ServerStarter.java 但是直接运行此类却有问题,因为此类是针对Openfire安装包而设计的,此类的功能是将所用到的Jar文件解压并将class文件加载到虚拟机中,而我们要用的却是源代码中我们自己编译好的class文件,所以我们需要一个新的启动类,一个简单的实现如下(当然最好是与ServerStarter.java中的方法一样,用自定义的ClassLoader来将XMPPServer.class加载到虚拟机中):

 

package org.jivesoftware.openfire.starter;

 

import org.jivesoftware.openfire.XMPPServer;

public class StandaloneStarter {

 

    public static void main(String[] args) {

       XMPPServer server = new XMPPServer();

    }

}

 

这样程序就可以跑起来了,最后的问题就是配置文件路径的问题,但我在此不想多少,留给访友调试解决了。

分享到:
评论
1 楼 mzba520 2011-10-28  
我想请问能不能把openfire部署到tomcat中去,就是把它当成是一个网站来访问,而不是采用安装的形式。因为我有个虚拟空间,只有一个webapps的目录。

相关推荐

    Openfire源代码在Eclipse3.5.2中的部署、编译、运行、部署安装

    ### Openfire 源代码在 Eclipse 3.5.2 中的部署、编译、运行与安装 #### 一、准备工作 在开始之前,需要确保已经下载了 Openfire(版本 3.6.4)、Spark(版本 2.5.8)以及 Smack(版本 3.1.0)。由于 Spark 的源码...

    openfire环境搭建说明

    #### 二、Openfire源代码获取与项目初始化 - **源代码位置**:通过提供的SVN地址(`http://219.141.185.3:7099/svn/pm/document/01办公二期预研/01SRC/trunk/openfire`)下载Openfire的源代码。该步骤通常涉及以下...

    Openfire源代码在Eclipse3.5.2中的部署、编译、运行、配置安装.doc

    以上就是Openfire源代码在Eclipse 3.5.2中的完整部署、编译、运行和配置流程,确保你能够顺利地搭建和管理Openfire服务器。在整个过程中,对Eclipse环境的熟悉和对Openfire配置的理解是关键,遇到问题时,可以参照...

    Openfire安装配置手册

    将openfire_src_3_7_0.zip解压缩到Eclipse的workspace,重命名为openfire,创建一个新的Java项目,名称为openfire,然后将openfire源代码导入到Eclipse中。 三、 编译Openfire源代码 使用Ant编译Openfire源代码,...

    Openfire即时消息传输平台 v4.8.0 源码包.zip

    而"Openfire-4.8.0"目录则包含所有源代码文件,开发者可以深入研究其内部工作原理,进行二次开发或定制化修改。 对于计算机科学的学习者,尤其是那些进行毕业设计或论文研究的人,Openfire源码提供了一个了解即时...

    openfire与spark环境搭建教程

    首先,我们从官方网址http://www.igniterealtime.org/downloads/source.jsp下载Openfire源代码。确保正确解压并将"openfire_src"文件夹放入Eclipse的工作空间。这里需要注意,如果更改了解压后的文件名,需在后续...

    OpenFire二次开发环境搭建

    - **操作指南**:可以通过Git或者其他版本控制系统克隆OpenFire的源代码仓库到本地,然后使用IDE导入项目。如果遇到依赖问题,可能还需要配置项目的构建路径。 ##### 2. ANT运行配置 - **步骤说明**:配置ANT来...

    openfire的相关资源

    它们涵盖了Openfire的源码获取、构建环境的搭建、编译步骤以及如何根据需求修改源代码。同时,这些文章还可能指导你如何配置Openfire以适应特定的网络环境和安全策略。 三、常见问题与报错解决 在Openfire的使用...

    openfire开发环境所需jar包.zip

    Openfire是一款开源的即时通讯(IM)服务器,它基于XMPP协议,允许用户...此外,了解Openfire的API文档和源代码,参与社区讨论,以及定期更新jar包以获取最新的安全修复和功能增强,都是确保开发顺利进行的关键步骤。

    编写Openfire开发插件、部署源码

    为了进行Openfire的开发,首先需要搭建一个开发环境。以下是详细的步骤: 1. **设置JAVA_HOME环境变量**:在系统环境变量中添加JAVA_HOME变量,指向Java的安装路径。 2. **配置Path变量**:在用户环境变量Path中...

    编译openfire4.0.2缺少的jar包

    4. **qdox.jar**:QDox是一个轻量级的Java源代码解析器,可以解析Java源代码并生成文档或者进行代码分析。在Openfire的构建过程中,可能使用QDox来生成API文档或者进行代码质量检查。 5. **jsp-api.jar**:这个jar...

    openfire语音聊天

    总的来说,通过Openfire和Strophe.js,我们可以快速搭建一个功能丰富的Web语音聊天平台,满足用户即时沟通需求。同时,项目的源代码经过完整测试,确保了其可靠性和可用性。开发者可以根据自身需求对源代码进行定制...

    基于asmack的在线聊天源代码——调通可运行

    在使用这套源代码前,首先需要准备一个Openfire服务器,Openfire是一款开源的、基于XMPP协议的即时通讯服务器。搭建Openfire服务器的步骤包括: 1. 下载并安装Openfire:从官方网站下载最新版本的Openfire,按照...

    openfire为服务器的XMPP的即时通信样例

    - `gen`:自动生成的源代码文件夹,包含了R.java类。 以上就是关于Openfire服务器及Android集成XMPP即时通信的详细知识点介绍,通过这些知识,你可以搭建自己的即时通讯系统,并在移动设备上实现流畅的聊天体验。

    安卓开发即时通讯所需工具asmack、openfire、spark

    Spark作为一款成熟的应用,它的源代码可以作为学习和参考的资源,帮助开发者理解如何实现IM功能。 为了实现安卓即时通讯,开发者还需要掌握以下几个关键点: - XML解析:XMPP协议基于XML,因此理解XML和XML解析在...

    基于openfire的android即时通信

    本项目中的`openfire-android.zip`文件包含了Android客户端的源代码,可以在Android Studio中导入并进行编译和测试。确保已正确配置Android SDK、Gradle环境,并在项目设置中指定对应版本。在运行客户端之前,需要先...

    openfire3.10.2 基于Eclipse的二次开发环境单间缺失部分包

    确保选择正确的根目录,使得所有源代码被正确识别。 3. **依赖库配置**:在描述中提到的压缩包里,包含了一些关键的JAR文件,如jersey-server-1.19.jar、jersey-core-1.19.jar、jersey-servlet-1.19.jar和javax.ws....

    openfire所有缺失的jar包

    Openfire是一款开源、基于XMPP协议的即时通讯服务器软件,它允许用户进行实时通信和协作。在将Openfire源码导入IDE(如Eclipse或IntelliJ IDEA)时,可能会遇到缺少依赖JAR包的问题,这会影响项目的正常编译和运行。...

    openfire + jwchat 的 WEB IM

    【描述】虽然提供的描述是"NULL",但根据标题我们可以推断,这个项目可能是为了演示或学习如何使用Openfire和JWChat搭建一个完整的Web即时通讯系统。用户可以通过Web浏览器进行实时的文本、语音甚至视频通信,无需...

Global site tag (gtag.js) - Google Analytics