将4.2.4版本的openfire源码导入到IDEA中

最近在搞安卓项目的旧聊天模块,把asmack库升级到smack4.2.4版本库。打算利用smack在4.1.0版本之后实现的XEP-0198协议来解决丢消息的问题。  

在导入openfire源码到IDEA中的时候也遇到了一些问题,现在写个文章记录一下。希望可以帮到有需要的朋友  

本人着重参考参考文章,写这篇文章只是为了把过程记录下来,并且把参考文章中没有遇到的几个问题解决办法也记录下来。

下载源码

这是openfire 4.2.4版本的源码 下载地址。下载后解压到自己喜欢的路径。我解压到该目录下


解压路径


使用IDEA导入源码

import
选择源码路径

然后一路next就好了,不需要去管其他事情


编译源码


使用AntBuild工具编译源码

编译时候会提示没有jdk,按下图配置。

编译过程会提示没有jdk,按图配置
过滤结构,选择openfire,重新编译
正常编译

配置服务器configuration


配置Application
设置参数

其中VM options是项目编译以后才生成的。   

解决报错

编译以后,运行项目会报几个错。如下

rayo的错
删除该jar包

删除该jar包,需要在项目依赖中修改下配置,后面还有需要添加的jar包,待会一起配置


错误
错误
错误

上图的错误,如图修改S2STestService.java类代码即可。  

下面是依赖ant.jar包,我的jar包是直接从IDEA的安装目录下拷贝出来的,路径在D:\Program Files\JetBrains\IntelliJ IDEA 2017.2.6\lib\ant\lib。这个视个人安装路径而定


加入ant.jar包
移除tinder.jar
按照图片操作,添加ant.jar
为openfire module添加ant依赖

启动openfire服务器

解决完上述问题以后,如果openfire服务器已经启动占用端口了,记得在IDEA中关闭已经启动的程序。重新启动,在服务器输入127.0.01.1:9090  

此时,还有几个错误需要解决。  


异常

上面这个报错只需要删除如下图片的jar包,在Project配置里面修改一下配置就可以了。  


删除的jar包

下面还有一个报错是

异常

需要复制源码中的路径添加到classPath里面去


如上图,把i18n中的所有properties文件和admin-sidebar.xml文件复制到上图路径中去。  

关闭已经启动的服务器,重新启动在控制台还有报错  


这个时候只需要下载一个1.2.12版本以上的log4j的jar包,替换rayo里面lo4j.jar包就可以了。log4j下载地址

总结

到了现在,openfire源码应该算是在IDEA导入成功,可以打包部署到本地了。如果有其它问题大家可以根据控制台输出解决。  

你可能感兴趣的:(将4.2.4版本的openfire源码导入到IDEA中)