1. 从官网http://www.igniterealtime.org/downloads/source.jsp下载源码openfire_src_3_9_3.zip
或者从SVN(http://svn.igniterealtime.org/svn/repos/openfire/tags)中下载所需要的版本。
2. 把下载好的openfire_src_3_9_3.zip解压到eclipse对应的workspace,结构和目录如下:
我的workspace路径是D:\IM,注意一定要解压到eclipse对应的workspace,否者下面第4步import项目到eclipse后会报错。
3. 把openfire_src\build\eclipse目录下面的settings、classpath、project 3个文件复制到openfire_src\ 目录下,
然后进入dos进行重命名。
4. 然后打开Eclipse,选择 File–> Import–>General–> Existing Projects into Workspace 选择D:\IM\openfire_src导入即可。
project结构如下,点击项目,右键 ->Properties -> Java Build Path -> Libraries,选择缺失包bouncycastle.jar然后Remove.
或者从网上 下载一个,点击 Add JARs...将其加上(现在的做法的将其Remove)。
移除缺失包后会出现3个错误:
现在来解决src/java包的错误,这个是因为有jar包没有引进来,我们将其引进即可
对于src\plugins\clustering\src\java报错,是因为缺少coherence.jar,coherence-work.jar,tangosol.jar这三个jar包。
这三个包可从此网址下载:http://download.csdn.net/detail/liangjiangli/8170521
将下载的包解压复制到到bulid\lib目录下,然后将这三个jar包add to build path
对于src\plugins\sip\src\java上的报错是因为 SipCommRouter.java和SipManager.java这两个类没有实现抽象方法
和完成 异常处理,最简单的解决办法是利用Eclipse自动修复功能进行修复即可。
classes12.jar下载网址:http://download.csdn.net/detail/liangjiangli/8170629
将下载的classes12.jar的oracle驱动包放到 build/lib中,然后右键classes12.jar –> Build Path-> Add to Build Path
5. ANT编译项目
在/openfire_src/build/build.xml文件右击,选择Run As –> Ant Build即可完成编译,编程成功后,会在/openfire_src/的
跟目录下生成两个新的文件夹:target和 work 。
6. Build Path配置,把 /openfire_src/src/i18n、/openfire_src/src/resources/jar、/openfire_src/build/lib/dist 文件夹添加到 Source中
右键项目openfire_src–> Build Path–> Configure Build Path–> Java Build Path–>Source–> Add folder
7. 配置启动参数,选择Run–> RunConfigurations…左边的Java Application,单击右键,选择 New:
选中Main选项卡,点击Browse按钮选择 openfire_src项目;单击Search按钮输入:
ServerStarter自动过滤后选择:ServerStarter – org.jivesoftware.openfire.starter:
选中Arguments选项卡,在VM arguments中填入:
-DopenfireHome="${workspace_loc:openfire_src}/target/openfire"
注意:项目路径${workspace_loc:openfire_src}
选中Common选项卡,将Debug和Run打钩(方便之后快速启动),然后点击apply,再点击run。成功后