2017-07-26 更新:直接获取最新版源码,就不会报错了,而且可支持的插件多,老版本的openfire几乎没有可用的官方插件。
系统及软件环境:
MAC OSX EI Capitan 10.11.5
Eclipse J2EE版本
Coherence.jar和Coherence-work.jar(百度云:链接: https://pan.baidu.com/s/1hrWGkmS 密码: tpbx),Coherence官网地址:http://www.oracle.com/technetwork/middleware/coherence/downloads/index.html
一、下载源码
1.下载Openfire源码,地址(https://github.com/igniterealtime/Openfire/releases?after=attic%2Ftrunk),此处我下载的是Openfire 3.8.2 Release版本。
二、导入源码
下载完之后解压文件目录如下:
此时不要急着用Eclipse导入项目,需要修改2处:
a.下载Coherence.jar和Coherence-work.jar,下载之后放到Openfire源码的Openfire-3.8.2/src/plugins/clustering/lib/目录下,这个目录下的README.txt文件中说明了需要3.7.1版本的Coherence的jar包。修改Openfire-3.8.2/build/eclipse/目录下面的"classpath"文件,使用文本编辑器打开,在末尾处添加两行jar的路径。
<classpathentry kind="lib" path="src/plugins/clustering/lib/coherence.jar"/> <classpathentry kind="lib" path="src/plugins/clustering/lib/coherence-work.jar"/>
b.将Openfire-3.8.2/build/eclipse/目录下面的"classpath"、"project"、"settings"三个文件复制到Openfire-3.8.2/目录下,并分别改名".classpath"、".project"、".settings"(改名不能直接在文件名前面加点,可以用终端命令: mv "classpath" ".classpath")
然后使用Eclipse导入项目(File->Import)。
导入之后发现如下地方报错:
错误1. src/plugins/sip/src/java目录下的SipCommRouter.java和SipManager.java报错,可以用Eclipse的自动修复功能实现未实现的接口方法,添加异常处理代码,然后保存修改,错误就会消失。
错误2. src/java下面的错误需要导入jar,选中项目右键->Build Path->Configure Biuld Path,然后选择Libraries->Add JARs,找到项目目录下的build目录下的lib目录,依次导入这几个子目录下的jar文件。
导入完上述4个jar之后,Eclipse就不会报错了。
三、ANT编译项目
Eclipse已经集成了Ant,所以我们只需要在 /openfire_src/build/build.xml 文件右击,选择Run As –> Ant Build 即可完成编译,编程成功后,会在/openfire_src/的跟目录下生成两个新的文件夹:target 和 work 。
四、运行Openfire项目
1、配置资源文件
在Build Path配置中把 /openfire_src/src/i18n 、/openfire_src/src/resources/jar 、/openfire_src/build/lib/dist文件夹添加到 Source 中,如图:
2、配置启动参数
选择Run –> Run Configurations… 左边的Java Application,单击右键,选择 New:
把默认name:New_configuration 修改成:ServerStarter
选中Main选项卡,点击Browse按钮选择 openfire_src 项目;单击Search 按钮输入:ServerStarter 自动过滤后选择:ServerStarter – org.jivesoftware.openfire.starter:
选中Arguments选项卡,在VM arguments中填入:(下面标红的地方填写的是你导入后在Eclipse中的项目名称,这个名称需注意,有可能不是openfire_src,比如我的就是openfire,不一样的地方需要修改)
-DopenfireHome="${workspace_loc:openfire_src}/target/openfire"
注意:项目路径 ${workspace_loc:openfire_src}
选中Common选项卡,将Debug和Run打钩(方便之后快速启动),然后点击apply,再点击run:
服务器Run之后控制台会打印消息:
打开浏览器输入地址:http://127.0.0.1:9090出现openfire的安装界面,说明启动成功。
参考链接:
http://www.myopenfire.com/article/getarticle/6
http://www.micmiu.com/opensource/openfire/openfire-src-config/