最近有时间来研究一下即时通讯,打算在将来的项目中用到;研究方向是Openfire+spark+flex3.一连几天在Eclispe下部署openfire都没有成功,关于这方面的文档资料也比较少.加之OpenFire工程项目目录比较复杂;所以真的很难一次成功.
Openfire的介绍在此不多说了,网上有很多关于这个基于Java的XMPP服务器的介绍,也可以通过官方网站http://www.igniterealtime.org/来寻找关于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解压后目录下除了Readme和License以外有四个子目录。
<!--[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文件夹当成源代码文件夹新建工程,建立新工程后观察Openfire所import的包,发现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();
}}
还有一个关键的一步是Openfire的Home没有设定
在XMPPServer类中有一个locateOpenfire方法,这个方法就是设置openfireHome属性。
具体修改如下:
// and just look for home in a standard sub-dir location and verify
// by looking for the config file
if (openfireHome == null) {
try {
//修改的是下面的代码,将".."替换为其他路径了
openfireHome = verifyHome("C:\\Program Files\\Openfire", jiveConfigName).getCanonicalFile();
}
catch (FileNotFoundException fe) {
// Ignore.
}
catch (IOException ie) {
// Ignore.
}
}
这部分默认是找当前路径,你可以修改它为你安装Openfire的路径,这样问题就解决了
分享到:
相关推荐
### Openfire 源代码在 Eclipse 3.5.2 中的部署、编译、运行与安装 #### 一、准备工作 在开始之前,需要确保已经下载了 Openfire(版本 3.6.4)、Spark(版本 2.5.8)以及 Smack(版本 3.1.0)。由于 Spark 的源码...
本文将详细介绍如何在Eclipse开发环境中部署Openfire源代码。Openfire是一款基于XMPP协议的即时消息服务器,由Ignite Realtime组织开发并维护。由于其开源、灵活且支持多种设备的特点,在企业级即时通信系统中有广泛...
在将Openfire项目导入Eclipse开发环境中时,可能会遇到缺少必需JAR库的问题,导致编译或运行失败。本文将详细介绍解决"openfire部署到eclipse少的3个jar包"这个问题的相关知识点。 首先,我们需要理解Java类库(JAR...
在将`openfire_src_3.10.2`版本的源代码部署到Eclipse开发环境中时,我们需要一系列的jar文件来确保编译和运行的顺利进行。这些jar文件包含了Openfire项目依赖的各种库和框架,涵盖网络通信、数据库访问、XML解析等...
总结来说,Openfire二次开发环境的部署涉及源码下载、Eclipse项目配置、修复导入后的错误、使用ANT编译项目以及启动Openfire服务。这个过程中,关键在于正确设置项目的构建路径,解决所有编译错误,以便顺利运行和...
将Openfire部署到Eclipse环境中可以方便开发者调试和测试,本文将详细介绍如何在Eclipse中配置并运行Openfire。 #### 二、准备工作 1. **下载Openfire源码** - 首先,访问官方网站下载Openfire的最新版本源码,...
在这个过程中,开发者需要安装Openfire服务器,设置开发环境,然后编写和部署插件来扩展Openfire的功能。 首先,我们需要了解Openfire的基本概念。Openfire的核心功能包括用户管理、群组管理、会话管理和安全策略等...
【标题】"openfire3.9.3 eclipse工程 编译成功" 描述了一次在Eclipse集成开发环境中编译开源即时通讯服务器Openfire 3.9.3版本的过程。这个过程中遇到了各种问题,但最终通过解决缺失的jar包和确保版本匹配,成功...
在3.10.2版本中,开发者可以利用Eclipse进行二次开发,以扩展或定制Openfire的功能。Eclipse作为一个强大的Java集成开发环境,为开发者提供了完善的工具集,便于代码编写、调试和测试。 在构建Openfire的二次开发...
【Openfire 开发环境搭建】 Openfire 是一个开源的即时通讯服务器,支持XMPP协议。为了进行Openfire的开发,首先需要...而部署源码则涉及到构建流程、依赖管理和服务器配置,确保插件能够在Openfire环境中正常运行。
本教程将详细介绍如何在Eclipse环境中配置Openfire 3.10.3所需的jar包,并进行部署。 首先,我们需要了解Openfire的核心功能。Openfire提供了一个强大的实时通信平台,支持聊天、群聊、文件传输等功能,它通过XMPP...
总的来说,搭建Openfire与Spark环境需要对Eclipse项目管理和Java开发有一定的了解,同时对即时通讯系统的运行机制要有基本的认识。虽然过程可能稍显繁琐,但只要按照上述步骤操作,就能成功建立一个本地即时通讯环境...
对于开发者来说,掌握如何搭建OpenFire的二次开发环境至关重要,这不仅有助于深入理解其工作原理,还能在此基础上进行功能扩展或定制化开发。 #### 二、环境搭建步骤 ##### 1. 导入项目 - **步骤说明**:首先需要...
在开发过程中,为了在Eclipse这样的集成开发环境中运行和调试Openfire项目,我们需要将必要的JAR(Java Archive)文件导入到项目中。标题提到的"openfire 3.9.3所需jar包"是指Openfire 3.9.3版本运行所必需的一些库...
### Openfire环境搭建知识点 #### 一、Openfire简介与工具准备 - **Openfire**:Openfire是一款基于XMPP协议...通过按照这些步骤操作,可以成功地在本地环境中部署Openfire服务器,并为进一步的开发和测试提供基础。
### Openfire源码部署开发详解 #### 一、Openfire简介 Openfire是一款开源的即时通讯服务器,基于XMPP协议栈。它支持多种客户端,并且能够处理大量的并发连接。Openfire以其灵活性、可扩展性和易用性而受到广泛欢迎...
3. 安装 Eclipse:Eclipse 是一个流行的 Java 集成开发环境(IDE),可以用于开发和调试 OpenFire。 二、源码部署 1. 解压 OpenFire 源码:将下载的 OpenFire 源码解压到 Eclipse 的 workspace 目录下。 2. 新建 ...
在第二部分中,需要部署 Openfire 的源代码,将 Openfire 的源代码部署到 Eclipse 中,并配置 Openfire 的运行环境。配置 Openfire 的运行环境包括设置 VM 参数、 CLASSPATH 变量等。在配置 Openfire 的运行环境时,...
二、在 Eclipse 中部署可开发插件的 Openfire 为了开发 Openfire 插件,我们需要使用 Eclipse 和 Ant。下面是详细的步骤: 1. 下载 Openfire 源码,例如 openfire_src_3_9_3.zip。 2. 解压 Openfire 源码到 ...
首先,文档详细说明了进行Openfire开发所需的初始准备工作,包括安装Java开发工具包(JDK)、集成开发环境(Eclipse/MyEclipse)、数据库(Oracle 10gXE)以及Openfire服务器软件。在安装JDK时,文档提供了两种方法...