1. 获取Openfire 3.6.4源代码
官方主页:http://www.igniterealtime.org/
下载源码包 openfire_src_3_6_4.tar.gz
2. 创建openfire工程
将openfire_src_3_6_4.tar.gz解压到本地目录openfire_src
openfire_src目录下,除READEME.html、LICENSE.html和changelog.html三个网页文件外,有如下四个子目录:
build 生成安装文件所需要的的一些文件,如JRE等。
resources 为实现国际化(i18n)和本地化的一些编码文件。
documentation 关于Openfire安装和配置的信息,Openfire的Javadoc。
src Openfire的源代码目录,这下面又有许多文件夹,其中Java文件夹是实现Openfire核心功能的存放目录,通过它就可以调试Openfire。
3. 从现有资源新建项目
(1) File->New->Java Project
(2) 在弹出的New Java Project对话框中输入工程名:openfire_src
(3) 选择Create project from existing source项,单击Browe,找到之前的解压目录 openfire_src
4. 编译工程
openfire是用ant构建的,所以要先设置使得eclipse中每次编译都使用内置的ant工具,保证编译的正确执行。同时,要在Eclipse中设置为使用JDK作为JVM,如果使用JRE作为JVM,编译就会失败。
因为openfire在Windows下是使用install4j打包成.exe格式的安装文件的,所以需要安装install4j。否则,在使用ant 进行编译的时候,在ant视图中可能会出现警告如下信息:taskdef class com.install4j.install4jtask cannot found。这主要是要安装用来打包Java应用程序的install4j.exe程序,而且将要安装到其默认的安装路径C:\Program Files\install4j下。
(1) 在eclipse中点击Window->Show View->Ant,打开Ant窗口
(2) 在Ant 视图中,单击右键,在弹出的快捷菜单中选择Add Buildfiles..
(3) 在弹出的对话框中,展开openfire_src/build文件夹,选择build目录下的build.xml,点击OK
(4) 在Ant视图中, 展开Openfire XMPP Server,双击 openfire_src(default)编译工程
(4) 如果在Console视图中显示“BUILD SUCCESSFUL”就表示编译成功
5. 创建项目Builder
(1) 在eclipse的菜单栏中,选择Run->Open Run Dialog...,在弹出的对话框左侧的树形结构中选择Java Application,单击右键,选择New创建启动配置
(2) 在Run窗口的Main选项卡中, 修改Name文本框中的值,改成包含要启动的类的工程名openfire_src
(3) 在Run窗口的Main选项卡中,点Browse按钮,选择openfire_src
(4) 在Run窗口的Main选项卡中,点Search按钮,选择Main class为org.jivesoftware.openfire.starter.ServerStarter,单击Apply按钮。(这是 openfire的启动类)
(5) 点击进入Arguments选项卡,在VM arguments文本框中输入
-DopenfireHome="${workspace_loc:openfire}/target/openfire"
单击Apply按钮。
这个是用于eclipse执行java命令时传递的参数,这样openfire程序可以通过 System.getProperty(“openfireHome”)得到openfire的本地位置。
(6) 点击进入Classpath选项卡,选中User Entries,这样Advanced...就处于可用状态;点击Advanced...按钮,在Advanced Options页面,选择Add Folders, 单击OK。(默认情况下,已经将工程openfire添加到了这里,而不需要进行该项操作,如果有多个工程的时候才需要执行该项操作。)选择 openfire_src\src\i18n, 点OK按钮将这个文件夹加入到Classpath选项卡中;同样的方式把openfire_src\src\resources\jar目录也加到 Classpath选项卡中。
(7) 在Common选项卡中,勾选Run复选框,单击Apply按钮。
设置完毕,这样以后在run这个工程的时候就会按照正确的配置进行了,debug的设置和run的设置类似,不用多说。
6. 运行并测试编译结果(openfire服务器)
(1) 在Eclipse菜单中,单击Run->Run(或快捷方式Ctrl+F11),在Console试图中出现如下所示的信息。
(2) 在Web浏览器中,输入http://127.0.0.1:9090/,如果可以出现配置的openfire的页面,就表示openfire编译、运行成功。
7. 自己定制openfire服务器时,在Eclipse对openfire源代码进行部署
openfire 的起始类为org.jivesoftware.openfire.starter.ServerStarter.java,但是直接运行此类却有问题,因为此类是针对Openfire安装包而设计的,此类的功能是将所用到的JAR文件解压并将class文件加载到虚拟机中,而我们要用的却是源代码中我们自己编译好的class文件。所以,我们需要一个新的启动类。
package org.jivesoftware.openfire.starter;
import org.jivesoftware.openfire.XMPPServer;
public class StandaloneStarter {
public static void main(String[] args) {
XMPPServer server = new XMPPServer();
}
}
这样程序就可以跑起来了,最后的问题就是配置文件路径的问题。
a) 在StandaloneStarter类的启动选项(VM arguments)中加入-DopenfireHome="${workspace_loc:openfire}/target/openfire",具体方法参见上文。
b) 点击进入Classpath选项卡,选中User Entries,这样Advanced...就处于可用状态;点击Advanced...按钮,在Advanced Options页面,选择Add Folders, 单击OK。(默认情况下,已经将工程openfire添加到了这里,而不需要进行该项操作,如果有多个工程的时候才需要执行该项操作。)选择 openfire_src\src\i18n, 点OK按钮将这个文件夹加入到Classpath选项卡中;同样的方式把openfire_src\src\resources\jar目录也加到 Classpath选项卡中。
********************************************************************************************
另:
使用Eclipse的版本控制插件SVN获取(检出为),具体步骤为:
1. 在eclipse中,选择Windows->Open Perspective->Other
2. 在弹出的窗口中,选择SVN Repository Exploring, 然后点OK
3. 在SVN Repositories 视图中单击右键,选择 New->Repository Location...
4. 在弹出的New Repository Location对话框的输入URL文本框中输入:http://svn.igniterealtime.org/svn/repos/openfire /trunk,然后,单击Finish.。你将会看到页面中出现URL地址。
5. 展开URL地址与openfire树形结构
6. 在trunk上点击右键,选择Check Out(检出为),即可将源代码保存到您所指定的目录下。
7. 用Create project from existing source新建工程,注意工程名要用openfire。
如果您是做二次开发,为了定制自己的服务器端,就可以采用这样方法:
1. 新建工程:File->New->Project->Java Project,单击Next,在Project name文本框中输入工程名:openfire,单击Finish
2. 解压后得到的openfire_src\src目录下所有内容复制到新建的工程目录workspace\openfire下
3. 在Package Explorer视图中,右击openfire工程,选择Properties,在弹出的对话框中选择Libraries->Add JARs..,把openfire_src/build/lib目录下的*.jar类库全部添加进来;选择Source标签页,Add Folder..,选中src/java目录前的复选框,点击OK按钮。(在Eclipse中将此Java文件夹当成源代码文件夹新建工程,建立新工程后观察Openfire所import的包,发现Openfire用了许多开源工具,而这些库都在上文提到的Build目录的lib 目录下,将Openfire用到的库都添加到这个新建工程的Referenced Libraries中。或者如果这样一个一个添加比较麻烦的话还有一个方法就是从你安装好的Openfire服务器目录下的lib目录中(例如:"C:\Program Files\Openfire\lib"或"/usr/local/openfire/lib")找到openfire.jar,打开后将里面的org /jivesoftware删除,重新打包成jar并添加到这个新建工程的Referenced Libraries中,这样就可以省去了很多类似的工作。)但是这样新建的openfire项目没有打包部署,需要开发者自己完成相应的工作。
注意:新建工程之后,可能会出现一些警告信息,下面对此予以说明:对于警告信息,是没有关系的。因为这些警告信息是使用1.5以上版本JDK时候才出现的,使用JDK1.4是不会出现这些警告信息的。因为这些代码中的有些是使用JDK 1.4编写的,而JDK1.4不支持泛型,而JDK 1.5和JDK1.6是支持泛型的。这些警告信息主要是提示将这些非泛型的代码修改为更加高级的方法——泛型,所以这些警告信息是不影响代码结果的。如果需要修改为泛型也是可以,使用泛型来处理相关的集合类。
分享到:
相关推荐
### Openfire源码部署与开发知识点详解 #### 一、Openfire简介 Openfire是一款开源的实时通信服务器,基于XMPP协议。它提供了一个高效、可扩展的消息传递平台,适用于企业级即时通讯应用。Openfire支持多种客户端接...
### Openfire源码在Eclipse中的部署步骤详解 #### 一、概述 ...通过以上步骤,就可以成功地在Eclipse中部署并运行Openfire源码了。这不仅有助于深入了解Openfire的工作原理,同时也为二次开发提供了便利。
### Openfire源码部署开发详解 #### 一、Openfire简介 Openfire是一款开源的即时通讯服务器,基于XMPP协议栈。它支持多种客户端,并且能够处理大量的并发连接。Openfire以其灵活性、可扩展性和易用性而受到广泛欢迎...
Openfire是一款开源的即时通讯(IM)服务器,它基于XMPP协议,支持多种客户端和企业级集成。...总之,理解和掌握Openfire的源码部署不仅能够帮助你更好地定制和维护即时通讯系统,也是提升Java开发能力的好机会。
OpenFire 3.9.3 源码部署安装指南 OpenFire 是一个基于 XMPP 协议的即时通讯服务器,它提供了实时的消息传递、文件传输、音视频会议等功能。下面是 OpenFire 3.9.3 源码部署安装的详细步骤: 一、准备阶段 1. ...
确保所有必要的库都已到位,是成功部署和运行Openfire WebChat的关键步骤。 在配置过程中,你还需要设置Openfire服务器的相关参数,如数据库连接信息、服务器地址、端口等。此外,你可能还需要对WebChat的界面进行...
3. 不使用默认位置,指定到Openfire源码文件夹。 第四步,解决导入工程后的错误: 1. 解决clustering插件的错误,需在src/plugins/clustering目录下新建lib文件夹,放入coherence.jar, coherence-work.jar, ...
4. **下载Openfire源码和安装程序**:从IgniteRealtime官方网站下载Openfire的安装程序和源代码。 5. **导入Openfire源文件到Eclipse**:将解压后的`openfire_src`文件夹复制到Eclipse的工作空间,然后在Eclipse中...
### Openfire 源代码在 Eclipse 3.5.2 中的部署、编译、运行与安装 #### 一、准备工作 在开始之前,需要确保已经下载了 Openfire(版本 3.6.4)、Spark(版本 2.5.8)以及 Smack(版本 3.1.0)。由于 Spark 的源码...
如果一切顺利,控制台将显示Openfire成功启动的信息,表明源码部署和运行已经成功。 总结来说,部署Openfire 3.7.1的源码至myEclipse需要经过源码解压、项目创建、依赖库引入、编译源码、运行配置等多个步骤。整个...
按照此指南操作后,您将拥有一个完整且稳定运行的Openfire环境,适用于新手快速上手部署。 请注意,在实际部署过程中,还需根据具体情况调整配置参数,并确保所有服务都能正常启动和运行。此外,安全性配置(如...
通过阅读Openfire源码,开发者可以了解即时通讯系统的底层实现,学习如何处理并发连接、优化性能和保证安全性。此外,源码中的注释和文档也能帮助理解设计决策和最佳实践。对于想要二次开发或自定义功能的开发者来说...
Openfire是一款开源的即时通讯(IM)服务器,它基于XMPP协议,用于构建实时通信系统。...当发现Openfire源码缺少bouncycastle.jar包时,及时添加相应版本的库可以解决相关问题,确保系统的稳定性和安全性。
《Openfire源代码在Eclipse3.5.2中的部署、编译与运行》 Openfire是一款基于Java的开源即时通讯服务器,它提供了强大的聊天、会议和协作功能。本教程将指导你如何在Eclipse 3.5.2环境下部署、编译、运行并配置...
【Openfire 3.9.3在MyEclipse的源码部署详解】 Openfire是一款流行的开源XMPP服务器软件,基于Java开发。MyEclipse是一款强大的Java集成开发环境,支持多种项目的构建与部署。本教程将指导您如何在MyEclipse中部署...
- 获取Jwchat的源码或者预编译的包,确保与Openfire版本兼容。 - 修改Jwchat的配置文件,配置Openfire服务器地址、端口、服务器域名以及API密钥等信息。 - 如果需要,可以对Jwchat的主题、语言、权限等进行个性化...
在部署Openfire源码时,通常需要遵循以下步骤: 1. **获取源码**:从官方网站或GitHub仓库下载Openfire的源码。 2. **构建环境**:确保本地已安装Java Development Kit(JDK)并配置好环境变量。 3. **设置构建工具...
以上就是Openfire源码编辑、部署和安装的基本流程,通过这个过程,你不仅能运行Openfire服务器,还能对其进行定制和扩展,开发自己的插件,满足特定的需求。在实践中,你将不断深化对XMPP协议的理解,增强服务器管理...
学习Openfire源码有助于理解IM服务器的工作原理,可以参考以下步骤: 1. **阅读源码**:从`src/core`和`src/plugins`开始,了解Openfire的核心组件和插件。 2. **理解协议**:通过阅读`src/proxy`和`src/xmpp`等...