spark+openfire二次开发(二)

1.openfire源码部署

      将下来的openfire_src_3_6_4.tar.gz解压后得到openfire_src文件夹,重命名为openfire。其源码部署方式请参照spark+openfire二次开发(一)中spark源码的部署方式。

2.openfire运行配置

      1)点击Run::Open Debug Dialog...,出现"Run"窗口
      2)选择"Java Application",右键点击"New"按钮.
      3)在"Main"标签页,将New_configuration换成openfire.
      4)点击Project::Browse按钮,选择openfire,再点OK.
      5)点击Main class::Search按钮,选择main所在的类ServerStarter再点击OK, 建议勾选Stop in main.

      6)Arguments页面。在VM arguments中加下内容

     -DopenfireHome="${workspace_loc:Openfire}/target/openfire"。
      7)点击Classpath标签页,选择User Entries ,使得Advanced..按钮变的可用.点击Advanced按钮.在弹出来的Advanced Options窗口,选择Add Folders,再点OK,在Folder Selection窗口选择Openfire/src/i18n文件夹,同样的方式选择Openfire/src/resources/jar文件夹,点击OK。
      8)选择Common标签页,勾选Debug,Run前面的框
      9)点击Apply,再点击Close

3.编译

      1)将Openfire/src/i18n文件夹下的openfire_i18n_en.properties文件及Openfire/src/resources/jar文件夹下的admin-sidebar.xml文件拷贝到src\bin目录下,打开ANT面板,选择openfire【default】任务执行。

4.运行

      运行openfire,控制台界面出现如下信息:

      Openfire 3.6.4 [Mar 15, 2010 8:49:33 AM]
      Admin console listening at http://127.0.0.1:9090

      在浏览器中打开上面显示的地址,可进行openfire的管理配置。

5.可能产生的错误:

 

5.1在网上看到openfire的部署过程中有些人的程序可能会报如下错误:

Variable references non-existent resource : ${workspace_loc:openfire}.

这个报错是指找不到资源,那就需要你去仔细检查一下你项目的名称 ${workspace_loc:openfire}中的openfire,大小写是否注意到了。

5.2

提示错误:

HTTP ERROR: 500

INTERNAL_SERVER_ERROR

RequestURI=/setup/index.jsp

Caused by:

java.lang.NullPointerException

       at org.jivesoftware.admin.AdminConsole.getAppName(AdminConsole.java:122)

       at org.jivesoftware.openfire.admin.decorators.setup_jsp._jspService(setup_jsp.java:168)

       at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)

       at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)

       at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)

       at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)

       at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)

       at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)

       at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)

       at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)

       at org.mortbay.jetty.servlet.Dispatcher.include(Dispatcher.java:192)

       at com.opensymphony.module.sitemesh.filter.PageFilter.applyDecorator(PageFilter.java:156)

       at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:59)

       at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)

       at org.jivesoftware.util.LocaleFilter.doFilter(LocaleFilter.java:66)

       at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)

       at org.jivesoftware.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:42)

       at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)

       at org.jivesoftware.admin.PluginFilter.doFilter(PluginFilter.java:70)

       at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)

       at org.jivesoftware.admin.AuthCheckFilter.doFilter(AuthCheckFilter.java:99)

       at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)

       at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)

       at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)

       at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)

       at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)

       at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)

       at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)

       at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)

       at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)

       at org.mortbay.jetty.Server.handle(Server.java:324)

       at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)

       at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:829)

       at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)

       at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)

       at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)

       at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)

       at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)

Powered by Jetty://

这时因为是文件路径所导致的问题,需要将admin-sidebar.xml和openfire_i18n_en.properties这2个文件直接放在openfire\bin目录下即可解决这个问题,注意是openfire\bin目录而非openfire\target\openfire\bin目录,openfire\target\openfire\bin下这两个文件只要在run界面中添加好配置,ant编译的时候会自动部署过去。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值