openfire 3.8.0 安装部署到本地-有图有真相

openfire 3.8.0 安装部署到本地

一、官网下载源码:http://www.igniterealtime.org/

二、创建工程:

 1、


2、


3、

4、项目加入进来以后会有许多错误,我们一一解决。这其中的错误也有可以不解决就可以运行的,但是我是将他们都解决了。

5、第一个bug:如下图。原因:缺少三个jar包,下载相关jar包可以百度一下,马上就找到了,也可以点击这里进行下载。将jar包放到build/lib下。然后按照图解加入到项目中来即可。




6、这个类中报的错误是常量类中缺少这个常量,自己添加上就可以了。找到org.jivesoftware.util.JiveConstants,添加代码:

public static final String XMPP_DELAY_DATETIME_FORMAT = "yyyyMMdd\'T\'HH:mm:ss";

问题解决。


7、这个错误是可以不去解决的,因为错误是因为该类中的文件与上面clustering插件中的类名重复。如果实在看不惯,删掉就可以了。


8、第一个类中的错误是因为接口中有未实现的方法,实现了就可以了。第二个类的问题是一个异常需要捕捉而未捕捉,给它捕捉了就可以了。


9、 问题应该到此就解决完了,如果还有问题的,那就另外看情况了。下面进行编译运行。一般情况下是运行不成功的。我先把解决方法贴下来再去讲编译和运行。

问题描述如下:

log4j:WARN No appenders could be found for logger (org.jivesoftware.util.Log).
log4j:WARN Please initialize the log4j system properly.
Could not locate home
java.io.FileNotFoundException
	at org.jivesoftware.openfire.XMPPServer.locateOpenfire(XMPPServer.java:874)
	at org.jivesoftware.openfire.XMPPServer.initialize(XMPPServer.java:347)
	at org.jivesoftware.openfire.XMPPServer.start(XMPPServer.java:468)
	at org.jivesoftware.openfire.XMPPServer.<init>(XMPPServer.java:212)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
	at java.lang.reflect.Constructor.newInstance(Unknown Source)
	at java.lang.Class.newInstance0(Unknown Source)
	at java.lang.Class.newInstance(Unknown Source)
	at org.jivesoftware.openfire.starter.ServerStarter.start(ServerStarter.java:113)
	at org.jivesoftware.openfire.starter.ServerStarter.main(ServerStarter.java:58)
启动服务器时出错。请检查日志文件以获取更多信息。

解决办法:

这种情况是由于源码中配置的路径错误引起的,请打开文件org.jivesoftware.openfire.XMPPServer 

我们来看这一行 

 // If we still don't have home, let's assume this is standalone
        // and just look for home in a standard sub-dir location and verify
        // by looking for the config file
        if (openfireHome == null) {
            try {
                openfireHome = verifyHome("..", jiveConfigName).getCanonicalFile();
            }
            catch (FileNotFoundException fe) {
                // Ignore.
            }
            catch (IOException ie) {
                // Ignore.
            }
        }

 

请看verifyHome方法的第一个参数,这里配置的就是相对的路径“..”而我们重新编译的时候,配置到的路径不是这里,那么就要根据你配置的路径来修改前面的地址。 

我的是这样: 

openfireHome = verifyHome("D:\\openfire_src\\openfire_src\\target\\openfire", jiveConfigName).getCanonicalFile();<span style="font-family: Tahoma;"> </span>

我的配置在:openfire_src\\openfire_src\\target\\openfire文件夹下。

三、编译运行:

如图解,用ant进行编译。将build.xml文件添加进来以后双击即可运行。编译完成以后刷新项目,会添加一个文件夹 target。

10、



11、运行:如图进行配置:




配置完成以后,classpath是这样的:


这样就配置完了。

然后找到org.jivesoftware.openfire.starter.ServerStarter,右击 run as -->java application。项目启动以后会显示这样的效果:

log4j:WARN No appenders could be found for logger (org.jivesoftware.util.Log).
log4j:WARN Please initialize the log4j system properly.
Openfire 3.7.0 [Jun 29, 2011 1:51:19 PM]
Admin console listening at http://127.0.0.1:9090

四、进入后台进行配置

浏览器进入http://127.0.0.1:9090,一步一步进行设置完成即可。

五、运行spark,服务器写127.0.0.1,注册用户登录即可。





  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值