On Thu, Jul 28, 2016 at 12:32 PM, Oliver Jones <[email protected]> wrote: > Hi, I'm trying to implement an authorization extension to Guacamole. > > I'm trying to do this by creating a class that implements this interface in > guacamole-ext: org/apache/guacamole/net/auth/AuthenticationProvider. > > But when I put my .jar file in the extensions directory and bounce Tomcat, > guacamole doesn't load properly and I get this class loader error in > localhost.YYYY-MM-DD.log: > > SEVERE: Exception sending context initialized event to listener instance of > class org.glyptodon.guacamole.net.basic.BasicServletContextListener > java.lang.NoClassDefFoundError: > org/apache/guacamole/net/auth/AuthenticationProvider >
The issue here is that the version of the web application is from prior to the move to the Apache Incubator, thus it doesn't know about the org.apache.guacamole classes. The AuthenticationProvider class is provided by guacamole-ext, which extensions expect to be provided by the web application (and thus do not bundle the .jar internally). You'll need to build a guacamole.war from the latest git to obtain a Guacamole which can load an extension that uses the org.apache.guacamole classes. > This happens even before I mention the extension in the properties file. > Mention it how? If you're referring to your extensions own properties, then no worries. Just in case you're referring to the deprecated "auth-provider" property, however: please don't use that. That property will either do nothing (it doesn't exist in recent git [1]) or will result in a loud warning in the logs and some of the extension subsystem being disabled for compatibility with older releases which did use that property (0.9.7, 0.9.8, and 0.9.9 will honor the property but log warnings about its use [2]). Thanks, - Mike [1] https://github.com/apache/incubator-guacamole-client/commit/c7a5f0bcd611f6acac003f18a2022a185a34a5ee [2] https://github.com/glyptodon/guacamole-client/blob/162f4db386c3a612e8a1189e92b7f789d51945d8/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/extension/ExtensionModule.java#L145-L179
