我正在尝试为Keycloak构建一个自定义事件监听器,它应该使用RabbitMQ(事件总线实现的第三方库)在用户注册时发布事件。
我已经设法从Keycloak documentation实现了这个例子。但是当我在我的pom.xml中引用RabbitMQ Client Library时,一旦我在Keycloak管理控制台中选择了我的自定义事件监听器,我就会在控制台中收到错误。错误消息显示:“未捕获的服务器错误:java.lang.NoClassDefFoundError:com / rabbitmq / client / ConnectionFactory”。
我还尝试将带有RabbitMQ客户端库的.jar文件添加到我的src文件夹中,如here所述,但这并没有改变任何东西。
我对Java部署比较陌生,所以可能我在这里遗漏了一些明显的东西。我希望有人可以帮助我。
-timnot90
找到一个解决方案:我现在正在使用maven-shade-plugin,如http://lists.jboss.org/pipermail/keycloak-user/2016-April/005902.html(Anthony的答案)中所述,它将我的第三方库的.class文件放入.jar文件中。