==============源码配置 begin==================
1、下载源代码:http://www.igniterealtime.org/downloads/source.jsp
2.解压到当前文件夹openfire_src,进入openfire_src>build>eclipse目录下,把里面settings、classpath、project三个文件拷贝到openfire_src目录,并用windows命令行重命名它们:
rename settings .settings、rename classpath .classpath、rename project .project。
3.导入工程到eclipse中,发现有些错误,一些jar包missing了。
不用担心,直接把报错的jar包remove掉,然后把build>lib下的所有jar包括文件夹里面的jar都导进来。
这样,整个工程就不会报错了,OK。
4.在Build Path配置中把 /openfire_src/src/i18n 、/openfire_src/src/resources/jar 、/openfire_src/build/lib/dist 文件夹添加到 Source 中,如图:
余下来,按下面的图完成操作即可:
-DopenfireHome="${workspace_loc:openfire_src}/target/openfire"
注意:项目路径 ${workspace_loc:openfire_src}
5.然后,把整个工程用ant编译一遍:
如果想单独编译某一个插件的话:
==============源码配置 end==================
==============插件开发 begin==================
1、
介绍一下openfire插件的开发,因为在很多使用openfire的过程中,需要更改openfire默认的一些行为,这就涉及到插件的开发。这里我也是写一个HelloWorld的入门案例,希望起到一些抛砖引玉的作用,也算是对我工作,学习的一个总结吧,欢迎大家给我留言提出问题和不足,大家共同进步。
2、案例插件的功能
这个插件很简单,就是在openfire Server启动时,和关闭时,在控制台打印出消息。
3、插件开发的目录结构设计
先来看一下当前openfire在eclipse中的目录结构:
目录太长,我截取一部分,现在,我们开始写插件。在\openfire_src\src\plugins目录下新建一个helloWorld的文件夹,然后在helloWorld目录下新建一个src的文件夹,放页面和源文件,再新建一个lib目录放第三方的jar包,然后在src文件夹下面新建web,Java两个文件夹,web下面放置页面,在这个案例没有用到,可以不建,java文件夹下面放置java源文件,现在目录结构如下:
changelog.html、plugin.xml、readme.html这三个文件分别是你的插件修改日志文件,插件文件和自述文件,其中plugin.xml这个文件很重要,后面我还要解释,先空着,logo_large.gif和logo_small.gif是插件的logo文件,我随便拷了两个。各位,做好上面的步骤以后,注意了,跟openfire自带插件的目录结构不一样,细心的朋友可能注意到了,我新建的src下面有个java目录,而openfire自带插件则没有,而是跑到上面去了,如下:
不要着急,做完这一步,我们的插件就跟openfire自带插件一样了,步骤截图如下:
这时,我们看到,src目录下的java目录不见了,而在上面的源码目录有了我们自己插件了,截图如下:
好了,我们先建一个包,如下:
输入包名:
现在包建好了,我们在这个包中建一个java文件,名为:HelloWorldPlugin,我就不截图,这个学过java的人就应该知道,内容如下:
package com.helloworld;
import java.io.File;
import org.jivesoftware.openfire.XMPPServer;
import org.jivesoftware.openfire.container.Plugin;
import org.jivesoftware.openfire.container.PluginManager;
public class HelloWorldPlugin implements Plugin {
private XMPPServer server;
public HelloWorldPlugin() {
}
@Override
public void initializePlugin(PluginManager manager, File pluginDirectory) {
server = XMPPServer.getInstance();
System.out.println("HelloWorldPlugin----start");
System.out.println(server.getServerInfo());
}
@Override
public void destroyPlugin() {
System.out.println("HelloWorldPlugin----destroy");
}
}
内容很简单,就是在openfire启动和关闭时,在控制台打印出一条消息。保存好了,我们的java源文件就写好了,现在我们该来写plugin.xml文件了,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<plugin>
<class>com.helloworld.HelloWorldPlugin</class>
<name>helloWorld</name>
<description>First Openfire Custom Plugin.</description>
<author>xieyuan</author>
<version>1.0.0</version>
<date>14/07/2014</date>
<minServerVersion>3.9.0</minServerVersion>
<adminconsole>
</adminconsole>
</plugin>
以及注意上面的class的配置,那个配置是最为重要的,配置的是插件的全路径;name是插件的名称,安装后的插件名称;author是插件作者;adminconsole是配置插件关联的页面的;这里不需要。
4、编译插件
展开\openfire_src\build目录,我们发现有一个build.properties.template文件,我们将其重命名为:build.properties,在这个build.properties中加上一行:plugin=helloWorld,截图如下:
使用ant编译插件,截图操作如下:
在弹出的target中选择build one plugin,点击Apply,Run:
之后,我们在控制台上看到:
构建成功,我们在相应的目录下,可以看到,生成的插件包:helloWorld.jar
现在我们来运行我们的插件,看在控制台上能不能打印相应的信息,启动openfire,我们看到在控制台上一句:
好了,大功告成,网上有很多人问,怎么调试插件,这不很简单,直接debug openfire不就行了:
终于完成了。
==============插件开发 end==================
原文:
http://blog.csdn.net/lc0817/article/details/51379432
http://www.51itong.net/openfire4-0-2-eclipse-19194.html
http://blog.csdn.net/lovexieyuan520/article/details/37774909#
- 大小: 103.5 KB
- 大小: 12.2 KB
- 大小: 38.3 KB
- 大小: 27.2 KB
- 大小: 207.3 KB
- 大小: 16 KB
- 大小: 80 KB
- 大小: 84.3 KB
- 大小: 91.5 KB
- 大小: 22.3 KB
- 大小: 25.3 KB
- 大小: 16 KB
- 大小: 21.3 KB
- 大小: 36.4 KB
- 大小: 17.1 KB
- 大小: 66.2 KB
- 大小: 65.6 KB
- 大小: 68.2 KB
- 大小: 32.2 KB
- 大小: 59.4 KB
- 大小: 53.9 KB
- 大小: 59.6 KB
- 大小: 21.9 KB
- 大小: 57.9 KB
- 大小: 17.8 KB
- 大小: 96.4 KB
分享到:
相关推荐
Openfire 采用Java开发,开源的实时协作(RTC)服务器基于XMPP(Jabber)协议。Openfire安装和使用都非常简单,并利用Web进行管理。单台服务器可支持上万并发用户。
总的来说,Openfire插件开发涉及到Java编程、数据库设计、XML配置以及Web服务的构建。开发者需要熟悉XMPP协议、Java编程和Web开发的相关知识,才能有效地利用Openfire的API进行插件开发。而部署源码则涉及到构建流程...
针对"编译openfire4.0.2缺少的jar包"这个标题,我们可以深入探讨一下这些jar包的作用以及它们与Openfire的关系。 1. **tangosol.jar** 和 **coherence.jar**:这两个文件是Oracle Coherence的组成部分,Coherence是...
二、在 Eclipse 中部署可开发插件的 Openfire 为了开发 Openfire 插件,我们需要使用 Eclipse 和 Ant。下面是详细的步骤: 1. 下载 Openfire 源码,例如 openfire_src_3_9_3.zip。 2. 解压 Openfire 源码到 ...
开发Openfire插件需要安装JDK,Eclipse或IntelliJ IDEA等Java IDE,并配置好Maven或Gradle构建工具。Openfire官方提供了一个基础的插件模板项目,可以作为开发的第一个插件的起点。 3. **创建新插件项目** 使用...
在Openfire 4.0.2版本中,用户可能会遇到一些由于缺少特定Java类库(JAR包)导致的问题,这些JAR包对于Openfire的正常运行至关重要。本篇文章将详细介绍这些JAR包的功能和它们在Openfire中的作用。 1. **tangosol....
### Openfire源码在Eclipse中的部署步骤详解 #### 一、概述 本文将详细介绍如何在Eclipse开发环境中部署Openfire源代码。Openfire是一款基于XMPP协议的即时消息服务器,由Ignite Realtime组织开发并维护。由于其...
### Openfire配置到Eclipse详解 #### 一、前言 在进行即时通讯系统的开发时,经常需要用到开源的即时通讯服务器——Openfire。Openfire基于XMPP协议,它提供了丰富的功能来支持各种即时通讯需求。将Openfire部署到...
本项目是一个关于在Openfire服务器上开发插件的简单示例,旨在帮助开发者快速理解和入门Openfire插件的开发流程。 首先,Openfire插件是扩展Openfire功能的一种方式,它们可以增加新的管理界面、实现自定义逻辑或...
4. **安装SDK**:Openfire提供了SDK,包含了开发插件所需的库和API文档。下载SDK后,将其添加到你的IDE中作为项目依赖。 5. **创建新插件项目**:在IDE中创建一个新的Java项目,根据Openfire的插件结构建立目录和...
安装和配置Openfire相对简单,支持多种数据库系统如MySQL、PostgreSQL等,这使得它能够灵活地适应各种环境。 Spark则是一款基于Java Swing的桌面客户端应用,用于与Openfire服务器进行交互。它提供了一个直观的用户...
OpenFire插件开发系列的第一部分主要涉及如何搭建OpenFire的二次开发环境,为后续的插件开发工作做好准备。OpenFire是一款开源的即时通讯服务器,它基于Java技术,支持XMPP协议,允许开发者通过编写插件来扩展其功能...
"OpenFire+Spark+Smack开发流程" 在本文中,我们将详细介绍OpenFire、Spark和Smack三个组件在XMPP ...在下一篇文章中,我们将继续介绍如何开发基于OpenFire服务器端的插件部分,以及如何使用Smack来实现XMPP传输协议。
### OpenFire 4.0.0 源码导入Eclipse进行二次开发 #### 一、准备工作 在开始OpenFire 4.0.0源码的导入与二次开发之前,确保已经完成了以下几项准备工作: 1. **安装JDK:** 如果还未安装JDK,请自行完成安装工作...
【标题】"openfire+asmack中文api+androidDemo"涉及的是即时通讯(Instant Messaging, IM)技术在Android平台上的实现。Openfire是一款开源的XMPP服务器,而ASMACK是针对Android平台的XMPP库,它允许开发者在Android...
1. 解压 OpenFire 源码:将下载的 OpenFire 源码解压到 Eclipse 的 workspace 目录下。 2. 新建 Java 项目:在 Eclipse 中新建一个 Java 项目,项目名与源码文件名必须一样。 3. 添加 jar 包:将 coherence.jar 和 ...
在Windows环境下,可以使用Visual Studio(如VC6.0)进行开发。安装Ice的库和开发工具,包括Ice-3.x.x-VC60.msi和可选的ThirdParty包。配置VC6.0的项目设置,包括代码生成、预处理器、C++语言选项和链接器设置,确保...
`plugins`目录下的源码展示了插件的生命周期管理和加载机制。 四、源码学习与开发实践 通过阅读Openfire源码,开发者可以了解即时通讯系统的底层实现,学习如何处理并发连接、优化性能和保证安全性。此外,源码中...
此外,Openfire的源码部署还涉及监控、性能优化、日志配置、集群部署等多个方面。对于大型企业或高并发环境,还需要考虑负载均衡、数据备份和恢复策略等。总之,理解和掌握Openfire的源码部署不仅能够帮助你更好地...