Hi, I’m currently developing a custom plugin for openfire using openfire 3.10.2. I managed to compile the server and plugins using ant build script provided with the sources with ant 1.9.6, jdk 1.8.0_51 and eclipse kepler. When i run the server I was able to configure the server, you know, select the language, specify the database connection and set the admin password. but after that when i try to login and access the admin web i always receive these errors:
From the error.log file in openfire_src/target/openfire/logs:
2015.07.31 14:21:52 org.jivesoftware.openfire.container.PluginManager - Error loading plugin: C:\Reporoot\openfire_src\target\openfire\plugins\admin
java.lang.NoClassDefFoundError: org/eclipse/jetty/util/thread/ThreadPool
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
at java.lang.Class.getConstructor0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at org.jivesoftware.openfire.container.PluginManager.loadPlugin(PluginManager.java :414)
at org.jivesoftware.openfire.container.PluginManager.access$1(PluginManager.java:2 78)
at org.jivesoftware.openfire.container.PluginManager$PluginMonitor.run(PluginManag er.java:1068)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.runAndReset(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301 (Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknow n Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.eclipse.jetty.util.thread.ThreadPool
at java.net.URLClassLoader.findClass(Unknown Source)
at org.eclipse.jetty.webapp.WebAppClassLoader.findClass(WebAppClassLoader.java:510 )
at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:441 )
at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:403 )
… 14 more
2015.07.31 14:21:52 org.jivesoftware.openfire.container.PluginManager - Error loading plugin: C:\Reporoot\openfire_src\target\openfire\plugins\jmxweb
java.lang.NoClassDefFoundError: org/eclipse/jetty/server/HandlerContainer
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
at java.lang.Class.getConstructor0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at org.jivesoftware.openfire.container.PluginManager.loadPlugin(PluginManager.java :414)
at org.jivesoftware.openfire.container.PluginManager.access$1(PluginManager.java:2 78)
at org.jivesoftware.openfire.container.PluginManager$PluginMonitor.run(PluginManag er.java:1068)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.runAndReset(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301 (Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknow n Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.eclipse.jetty.server.HandlerContainer
at java.net.URLClassLoader.findClass(Unknown Source)
at org.eclipse.jetty.webapp.WebAppClassLoader.findClass(WebAppClassLoader.java:510 )
at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:441 )
at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:403 )
… 14 more
From the web page shown by the browser:
HTTP ERROR 500
Problem accessing /index.jsp. Reason:
Server Error
Caused by:
javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/eclipse/jetty/server/Connector at org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:858) at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791) at org.jivesoftware.openfire.admin.index_jsp._jspService(index_jsp.java:804) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:808) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669) at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118) at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.jivesoftware.util.LocaleFilter.doFilter(LocaleFilter.java:74) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.jivesoftware.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:50) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.jivesoftware.admin.PluginFilter.doFilter(PluginFilter.java:78) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.jivesoftware.admin.AuthCheckFilter.doFilter(AuthCheckFilter.java:159) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215) at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) at org.eclipse.jetty.server.Server.handle(Server.java:497) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257) at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.NoClassDefFoundError: org/eclipse/jetty/server/Connector at org.jivesoftware.openfire.admin.index_jsp._jspService(index_jsp.java:140) ... 34 more Caused by: java.lang.ClassNotFoundException: org.eclipse.jetty.server.Connector at java.net.URLClassLoader.findClass(Unknown Source) at org.eclipse.jetty.webapp.WebAppClassLoader.findClass(WebAppClassLoader.java:510) at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:441) at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:403) ... 35 more
Caused by:
java.lang.NoClassDefFoundError: org/eclipse/jetty/server/Connector at org.jivesoftware.openfire.admin.index_jsp._jspService(index_jsp.java:140) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:808) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669) at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118) at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.jivesoftware.util.LocaleFilter.doFilter(LocaleFilter.java:74) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.jivesoftware.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:50) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.jivesoftware.admin.PluginFilter.doFilter(PluginFilter.java:78) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.jivesoftware.admin.AuthCheckFilter.doFilter(AuthCheckFilter.java:159) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215) at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) at org.eclipse.jetty.server.Server.handle(Server.java:497) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257) at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.ClassNotFoundException: org.eclipse.jetty.server.Connector at java.net.URLClassLoader.findClass(Unknown Source) at org.eclipse.jetty.webapp.WebAppClassLoader.findClass(WebAppClassLoader.java:510) at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:441) at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:403) ... 35 more
Caused by:
java.lang.ClassNotFoundException: org.eclipse.jetty.server.Connector at java.net.URLClassLoader.findClass(Unknown Source) at org.eclipse.jetty.webapp.WebAppClassLoader.findClass(WebAppClassLoader.java:510) at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:441) at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:403) at org.jivesoftware.openfire.admin.index_jsp._jspService(index_jsp.java:140) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:808) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669) at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118) at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.jivesoftware.util.LocaleFilter.doFilter(LocaleFilter.java:74) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.jivesoftware.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:50) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.jivesoftware.admin.PluginFilter.doFilter(PluginFilter.java:78) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.jivesoftware.admin.AuthCheckFilter.doFilter(AuthCheckFilter.java:159) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215) at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) at org.eclipse.jetty.server.Server.handle(Server.java:497) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257) at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) at java.lang.Thread.run(Unknown Source)
and the ouput of the debugger in eclipse:
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/C:/Reporoot/openfire_src/build/lib/dist/slf4j-log4j12.jar!/org/slf4j /impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/C:/Reporoot/openfire_src/target/openfire/lib/slf4j-log4j12.jar!/org/ slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/C:/Reporoot/openfire_src/work/lib/slf4j-log4j12.jar!/org/slf4j/impl/ StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
Openfire 3.10.2 [Jul 31, 2015 2:04:43 PM]
Error creating server listener on port 5269: Address already in use: JVM_Bind
Openfire 3.10.2 [Jul 31, 2015 2:04:44 PM]
Starting Client Control Plugin
Admin console listening at:
http://chat.treasurehunters:9090
https://chat.treasurehunters:9091
Starting Client Control Plugin
Starting Fastpath Server
Starting Fastpath Server
Starting Monitoring Plugin
Starting Monitoring Plugin
jul 31, 2015 2:04:46 PM com.sun.jersey.api.core.PackagesResourceConfig init
INFORMACIÓN: Scanning for root resource and provider classes in the packages:
org.jivesoftware.openfire.plugin.servlet
jul 31, 2015 2:04:46 PM com.sun.jersey.api.core.PackagesResourceConfig init
INFORMACIÓN: Scanning for root resource and provider classes in the packages:
org.jivesoftware.openfire.plugin.servlet
jul 31, 2015 2:04:47 PM com.sun.jersey.api.core.ScanningResourceConfig init
INFORMACIÓN: No root resource classes found.
jul 31, 2015 2:04:47 PM com.sun.jersey.api.core.ScanningResourceConfig logClasses
INFORMACIÓN: Provider classes found:
class org.jivesoftware.openfire.plugin.servlet.RESTExceptionMapper
jul 31, 2015 2:04:47 PM com.sun.jersey.api.core.ScanningResourceConfig init
INFORMACIÓN: No root resource classes found.
jul 31, 2015 2:04:47 PM com.sun.jersey.api.core.ScanningResourceConfig logClasses
INFORMACIÓN: Provider classes found:
class org.jivesoftware.openfire.plugin.servlet.RESTExceptionMapper
jul 31, 2015 2:04:47 PM com.sun.jersey.server.impl.application.WebApplicationImpl _initiate
INFORMACIÓN: Initiating Jersey application, version ‘Jersey: 1.18 11/22/2013 03:05 AM’
VoiceBridge logs C:\Reporoot\openfire_src\target\openfire\plugins\rayo…\logs\
Jul 31 14:4:47.605 There are no VoIP gateways. You cannot make calls to the phone system.
Jul 31 14:4:47.689
Jul 31 14:4:47.689 Bridge private address: 127.0.0.1
Jul 31 14:4:47.723 Bridge public address: 127.0.0.1
Jul 31 14:4:47.723 Bridge public SIP port: 5060
Jul 31 14:4:47.723 Default SIP Proxy: null
Jul 31 14:4:47.723
Loading lexicon: jar:file:/C:/Reporoot/openfire_src/src/plugins/rayo/lib/cmulex.jar!/com/sun/spe ech/freetts/en/us/cmulex_compiled.bin
VoiceBridge logs C:\Reporoot\openfire_src\target\openfire\plugins\rayo…\logs\
Jul 31 14:4:48.656 There are no VoIP gateways. You cannot make calls to the phone system.
Jul 31 14:4:48.657
Jul 31 14:4:48.657 Bridge private address: 127.0.0.1
Jul 31 14:4:48.658 ERROR: Stack has no ListeningPoints
javax.sip.ObjectInUseException: Provider already attached!
at gov.nist.javax.sip.SipStackImpl.createSipProvider(SipStackImpl.java:738)
at com.sun.voip.server.SipServer.setup(SipServer.java:189)
at com.sun.voip.server.SipServer.(SipServer.java:105)
at org.voicebridge.Application.appStart(Application.java:73)
at org.ifsoft.rayo.RayoPlugin.initializePlugin(RayoPlugin.java:99)
at org.jivesoftware.openfire.container.PluginManager.loadPlugin(PluginManager.java :477)
at org.jivesoftware.openfire.container.PluginManager.access$1(PluginManager.java:2 78)
at org.jivesoftware.openfire.container.PluginManager$PluginMonitor.run(PluginManag er.java:1068)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.runAndReset(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301 (Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknow n Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Loading lexicon: jar:file:/C:/Reporoot/openfire_src/src/plugins/rayo/lib/cmulex.jar!/com/sun/spe ech/freetts/en/us/cmulex_compiled.bin
Error starting server listener on port 5269: null
Error starting multiplexer listener on port 5262: Address already in use: bind
Error starting SSL XMPP listener on port 5223: Address already in use: bind
I checked the java Buid Path contains the specified .jar and .class inside for the class requested, and the classpath in the debug configuration and both look right but looks like the admin web can’t find those .jar, am I missing something? thank you in advance