{"action":"created","issue":{"url":"https://api.github.com/repos/hawtio/hawtio/issues/2053","labels_url":"https://api.github.com/repos/hawtio/hawtio/issues/2053/labels{/name}","comments_url":"https://api.github.com/repos/hawtio/hawtio/issues/2053/comments","events_url":"https://api.github.com/repos/hawtio/hawtio/issues/2053/events","html_url":"https://github.com/hawtio/hawtio/issues/2053","id":122124322,"number":2053,"title":"Linkage error when trying to run hawtio with plugins","user":{"login":"ozsaffer","id":355818,"avatar_url":"https://avatars.githubusercontent.com/u/355818?v=3","gravatar_id":"","url":"https://api.github.com/users/ozsaffer","html_url":"https://github.com/ozsaffer","followers_url":"https://api.github.com/users/ozsaffer/followers","following_url":"https://api.github.com/users/ozsaffer/following{/other_user}","gists_url":"https://api.github.com/users/ozsaffer/gists{/gist_id}","starred_url":"https://api.github.com/users/ozsaffer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ozsaffer/subscriptions","organizations_url":"https://api.github.com/users/ozsaffer/orgs","repos_url":"https://api.github.com/users/ozsaffer/repos","events_url":"https://api.github.com/users/ozsaffer/events{/privacy}","received_events_url":"https://api.github.com/users/ozsaffer/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-12-14T20:29:13Z","updated_at":"2015-12-15T16:00:32Z","closed_at":"2015-12-15T16:00:32Z","body":"Hi,\r\n\r\nI have just downloaded hawtio-app-1.59.jar and hawtio-web-1.4.59.war. I have placed the .jar in a folder and the .war in a plugin folder. \r\n\r\nHowever when I run the app I get a Linkage error(below). The app does start and I am able to browse the web console, but I am not sure if the plugin bundle is installed. \r\n\r\nAny help would be appreciated.\r\n\r\nlocalhost:hawtio andre$ java -jar hawtio-app-1.4.59.jar -pd ~/Documents/Vita/hawtio/\r\n[main] INFO jetty - using temp directory for jetty: /Users/andre/.hawtio/tmp\r\n[main] INFO jetty - Scanning for 3rd party plugins in directory: hawtio\r\n[main] INFO org.eclipse.jetty.webapp.StandardDescriptorProcessor - NO JSP Support for /hawtio-web-1.4.59, did not find org.apache.jasper.servlet.JspServlet\r\n[main] WARN org.eclipse.jetty.webapp.WebAppContext - Failed startup of context o.e.j.w.WebAppContext{/hawtio-web-1.4.59,file:/Users/andre/.hawtio/tmp/hawtio-web-1.4.59.war/webapp/},file:///Users/andre/Documents/Vita/hawtio/hawtio-web-1.4.59.war\r\njava.lang.reflect.InvocationTargetException\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)\r\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n\tat java.lang.reflect.Method.invoke(Method.java:606)\r\n\tat org.eclipse.jetty.webapp.IterativeDescriptorProcessor.visit(IterativeDescriptorProcessor.java:85)\r\n\tat org.eclipse.jetty.webapp.IterativeDescriptorProcessor.process(IterativeDescriptorProcessor.java:72)\r\n\tat org.eclipse.jetty.webapp.MetaData.resolve(MetaData.java:367)\r\n\tat org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1240)\r\n\tat org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:717)\r\n\tat org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:494)\r\n\tat org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)\r\n\tat io.hawt.embedded.Main.findThirdPartyPlugins(Main.java:179)\r\n\tat io.hawt.embedded.Main.run(Main.java:108)\r\n\tat io.hawt.embedded.Main.run(Main.java:70)\r\n\tat io.hawt.app.App.main(App.java:101)\r\nCaused by: java.lang.LinkageError: loader constraint violation: when resolving method \"org.slf4j.impl.StaticLoggerBinder.getLoggerFactory()Lorg/slf4j/ILoggerFactory;\" the class loader (instance of org/eclipse/jetty/webapp/WebAppClassLoader) of the current class, org/slf4j/LoggerFactory, and the class loader (instance of sun/misc/Launcher$AppClassLoader) for resolved class, org/slf4j/impl/StaticLoggerBinder, have different Class objects for the type LoggerFactory; used in the signature\r\n\tat org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:335)\r\n\tat org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:283)\r\n\tat org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:304)\r\n\tat io.hawt.jmx.JmxTreeWatcher.<clinit>(JmxTreeWatcher.java:24)\r\n\tat io.hawt.HawtioContextListener.<init>(HawtioContextListener.java:21)\r\n\tat sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)\r\n\tat sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)\r\n\tat sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)\r\n\tat java.lang.reflect.Constructor.newInstance(Constructor.java:526)\r\n\tat java.lang.Class.newInstance(Class.java:383)\r\n\tat org.eclipse.jetty.server.handler.ContextHandler$Context.createListener(ContextHandler.java:2375)\r\n\tat org.eclipse.jetty.servlet.ServletContextHandler$Context.createListener(ServletContextHandler.java:1227)\r\n\tat org.eclipse.jetty.webapp.StandardDescriptorProcessor.newListenerInstance(StandardDescriptorProcessor.java:1937)\r\n\tat org.eclipse.jetty.webapp.StandardDescriptorProcessor.visitListener(StandardDescriptorProcessor.java:1894)\r\n\t... 15 more\r\n[main] WARN org.eclipse.jetty.util.component.AbstractLifeCycle - FAILED o.e.j.w.WebAppContext{/hawtio-web-1.4.59,file:/Users/andre/.hawtio/tmp/hawtio-web-1.4.59.war/webapp/},file:///Users/andre/Documents/Vita/hawtio/hawtio-web-1.4.59.war: java.lang.reflect.InvocationTargetException\r\njava.lang.reflect.InvocationTargetException\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)\r\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n\tat java.lang.reflect.Method.invoke(Method.java:606)\r\n\tat org.eclipse.jetty.webapp.IterativeDescriptorProcessor.visit(IterativeDescriptorProcessor.java:85)\r\n\tat org.eclipse.jetty.webapp.IterativeDescriptorProcessor.process(IterativeDescriptorProcessor.java:72)\r\n\tat org.eclipse.jetty.webapp.MetaData.resolve(MetaData.java:367)\r\n\tat org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1240)\r\n\tat org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:717)\r\n\tat org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:494)\r\n\tat org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)\r\n\tat io.hawt.embedded.Main.findThirdPartyPlugins(Main.java:179)\r\n\tat io.hawt.embedded.Main.run(Main.java:108)\r\n\tat io.hawt.embedded.Main.run(Main.java:70)\r\n\tat io.hawt.app.App.main(App.java:101)\r\nCaused by: java.lang.LinkageError: loader constraint violation: when resolving method \"org.slf4j.impl.StaticLoggerBinder.getLoggerFactory()Lorg/slf4j/ILoggerFactory;\" the class loader (instance of org/eclipse/jetty/webapp/WebAppClassLoader) of the current class, org/slf4j/LoggerFactory, and the class loader (instance of sun/misc/Launcher$AppClassLoader) for resolved class, org/slf4j/impl/StaticLoggerBinder, have different Class objects for the type LoggerFactory; used in the signature\r\n\tat org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:335)\r\n\tat org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:283)\r\n\tat org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:304)\r\n\tat io.hawt.jmx.JmxTreeWatcher.<clinit>(JmxTreeWatcher.java:24)\r\n\tat io.hawt.HawtioContextListener.<init>(HawtioContextListener.java:21)\r\n\tat sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)\r\n\tat sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)\r\n\tat sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)\r\n\tat java.lang.reflect.Constructor.newInstance(Constructor.java:526)\r\n\tat java.lang.Class.newInstance(Class.java:383)\r\n\tat org.eclipse.jetty.server.handler.ContextHandler$Context.createListener(ContextHandler.java:2375)\r\n\tat org.eclipse.jetty.servlet.ServletContextHandler$Context.createListener(ServletContextHandler.java:1227)\r\n\tat org.eclipse.jetty.webapp.StandardDescriptorProcessor.newListenerInstance(StandardDescriptorProcessor.java:1937)\r\n\tat org.eclipse.jetty.webapp.StandardDescriptorProcessor.visitListener(StandardDescriptorProcessor.java:1894)\r\n\t... 15 more\r\n[main] WARN jetty - Failed to add and start 3rd party plugin with context-path: /hawtio-web-1.4.59 due null\r\njava.lang.reflect.InvocationTargetException\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)\r\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n\tat java.lang.reflect.Method.invoke(Method.java:606)\r\n\tat org.eclipse.jetty.webapp.IterativeDescriptorProcessor.visit(IterativeDescriptorProcessor.java:85)\r\n\tat org.eclipse.jetty.webapp.IterativeDescriptorProcessor.process(IterativeDescriptorProcessor.java:72)\r\n\tat org.eclipse.jetty.webapp.MetaData.resolve(MetaData.java:367)\r\n\tat org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1240)\r\n\tat org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:717)\r\n\tat org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:494)\r\n\tat org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)\r\n\tat io.hawt.embedded.Main.findThirdPartyPlugins(Main.java:179)\r\n\tat io.hawt.embedded.Main.run(Main.java:108)\r\n\tat io.hawt.embedded.Main.run(Main.java:70)\r\n\tat io.hawt.app.App.main(App.java:101)\r\nCaused by: java.lang.LinkageError: loader constraint violation: when resolving method \"org.slf4j.impl.StaticLoggerBinder.getLoggerFactory()Lorg/slf4j/ILoggerFactory;\" the class loader (instance of org/eclipse/jetty/webapp/WebAppClassLoader) of the current class, org/slf4j/LoggerFactory, and the class loader (instance of sun/misc/Launcher$AppClassLoader) for resolved class, org/slf4j/impl/StaticLoggerBinder, have different Class objects for the type LoggerFactory; used in the signature\r\n\tat org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:335)\r\n\tat org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:283)\r\n\tat org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:304)\r\n\tat io.hawt.jmx.JmxTreeWatcher.<clinit>(JmxTreeWatcher.java:24)\r\n\tat io.hawt.HawtioContextListener.<init>(HawtioContextListener.java:21)\r\n\tat sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)\r\n\tat sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)\r\n\tat sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)\r\n\tat java.lang.reflect.Constructor.newInstance(Constructor.java:526)\r\n\tat java.lang.Class.newInstance(Class.java:383)\r\n\tat org.eclipse.jetty.server.handler.ContextHandler$Context.createListener(ContextHandler.java:2375)\r\n\tat org.eclipse.jetty.servlet.ServletContextHandler$Context.createListener(ServletContextHandler.java:1227)\r\n\tat org.eclipse.jetty.webapp.StandardDescriptorProcessor.newListenerInstance(StandardDescriptorProcessor.java:1937)\r\n\tat org.eclipse.jetty.webapp.StandardDescriptorProcessor.visitListener(StandardDescriptorProcessor.java:1894)\r\n\t... 15 more\r\nEmbedded hawtio: You can use --help to show usage\r\nUsing options [\r\n\twar=/private/var/folders/f2/89zj984n2jx7z2ny9h5_d2f00000gn/T/hawtio-6265018710522595565.war\r\n\tcontextPath=/hawtio\r\n\tport=8080\r\n\textraClassPath=file:/Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home/lib/tools.jar\r\n\tplugins=/Users/andre/Documents/Vita/hawtio/\r\n\tjointServerThread=false\r\n\thelp=false]\r\nAbout to start hawtio /private/var/folders/f2/89zj984n2jx7z2ny9h5_d2f00000gn/T/hawtio-6265018710522595565.war\r\n[main] INFO org.eclipse.jetty.server.Server - jetty-8.y.z-SNAPSHOT\r\n[main] INFO org.eclipse.jetty.webapp.WebInfConfiguration - Extract jar:file:/private/var/folders/f2/89zj984n2jx7z2ny9h5_d2f00000gn/T/hawtio-6265018710522595565.war!/ to /Users/andre/.hawtio/tmp/webapp\r\n[main] INFO org.eclipse.jetty.webapp.StandardDescriptorProcessor - NO JSP Support for /hawtio, did not find org.apache.jasper.servlet.JspServlet\r\n[main] INFO io.hawt.system.ConfigManager - Configuration will be discovered via system properties\r\n[main] INFO io.hawt.jmx.JmxTreeWatcher - Welcome to hawtio 1.4.59 : http://hawt.io/ : Don't cha wish your console was hawt like me? ;-)\r\n[main] INFO io.hawt.jmx.UploadManager - Using file upload directory: /var/folders/f2/89zj984n2jx7z2ny9h5_d2f00000gn/T//uploads\r\n[main] INFO /hawtio - Loading Blueprint contexts [file:/Users/andre/.hawtio/tmp/webapp/WEB-INF/classes/OSGI-INF/blueprint/blueprint.xml, jar:file:/Users/andre/.hawtio/tmp/webapp/WEB-INF/lib/hawtio-aether-1.4.59.jar!/OSGI-INF/blueprint/blueprint.xml, jar:file:/Users/andre/.hawtio/tmp/webapp/WEB-INF/lib/hawtio-core-1.4.59.jar!/OSGI-INF/blueprint/blueprint.xml, jar:file:/Users/andre/.hawtio/tmp/webapp/WEB-INF/lib/hawtio-git-1.4.59.jar!/OSGI-INF/blueprint/blueprint.xml, jar:file:/Users/andre/.hawtio/tmp/webapp/WEB-INF/lib/hawtio-ide-1.4.59.jar!/OSGI-INF/blueprint/blueprint.xml, jar:file:/Users/andre/.hawtio/tmp/webapp/WEB-INF/lib/hawtio-json-schema-mbean-1.4.59.jar!/OSGI-INF/blueprint/blueprint.xml, jar:file:/Users/andre/.hawtio/tmp/webapp/WEB-INF/lib/hawtio-local-jvm-mbean-1.4.59.jar!/OSGI-INF/blueprint/blueprint.xml]\r\n[main] INFO io.hawt.log.log4j.Log4jLogQuery - Connected to Log4j appender to trap logs with hawtio log plugin\r\n[main] INFO io.hawt.git.GitFacade - hawtio using config directory: /Users/andre/.hawtio/config\r\n[main] INFO io.hawt.git.GitFacade - Performing a pull in git repository /Users/andre/.hawtio/config on remote URL: https://github.com/hawtio/hawtio-config.git. Subsequent pull attempts will use debug logging\r\n[main] INFO io.hawt.web.AuthenticationFilter - Starting hawtio authentication filter, JAAS authentication disabled\r\n[main] INFO /hawtio - jolokia-agent: Using access restrictor classpath:/jolokia-access.xml\r\n[main] INFO org.eclipse.jetty.webapp.WebAppContext - hawtio at http://0.0.0.0:8080/hawtio\r\n[main] INFO org.eclipse.jetty.server.AbstractConnector - Started SelectChannelConnector@0.0.0.0:8080\r\n\r\nhawtio: Don't cha wish your console was hawt like me!\r\n=====================================================\r\n\r\nhttp://localhost:8080/hawtio\r\n\r\n[qtp1707345075-25] INFO io.hawt.web.keycloak.KeycloakServlet - Keycloak integration is disabled\r\n"},"comment":{"url":"https://api.github.com/repos/hawtio/hawtio/issues/comments/164807794","html_url":"https://github.com/hawtio/hawtio/issues/2053#issuecomment-164807794","issue_url":"https://api.github.com/repos/hawtio/hawtio/issues/2053","id":164807794,"user":{"login":"davsclaus","id":477100,"avatar_url":"https://avatars.githubusercontent.com/u/477100?v=3","gravatar_id":"","url":"https://api.github.com/users/davsclaus","html_url":"https://github.com/davsclaus","followers_url":"https://api.github.com/users/davsclaus/followers","following_url":"https://api.github.com/users/davsclaus/following{/other_user}","gists_url":"https://api.github.com/users/davsclaus/gists{/gist_id}","starred_url":"https://api.github.com/users/davsclaus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/davsclaus/subscriptions","organizations_url":"https://api.github.com/users/davsclaus/orgs","repos_url":"https://api.github.com/users/davsclaus/repos","events_url":"https://api.github.com/users/davsclaus/events{/privacy}","received_events_url":"https://api.github.com/users/davsclaus/received_events","type":"User","site_admin":false},"created_at":"2015-12-15T16:00:32Z","updated_at":"2015-12-15T16:00:32Z","body":"You should not put hawtio itself in the plugins directory, that is only for custom 3rd party plugins you build. Just start it according to documentation with just java -jar or drop the .war in tomcat etc for war deployments."}}