I've been trying to set up an EventListener using an AnswerCreatedEvent from the com.atlassian.confluence.plugins.questions package. The class I set up works for core Confluence events, but when I change it to a Questions event, it says it is missing dependencies when I try to upload it and cannot be enabled.
@ExportAsService({SampleEventListener.class})
@Named("sampleEventListener")
@Scanned
public class SampleEventListener implements DisposableBean, InitializingBean {
@ConfluenceImport
private EventPublisher eventPublisher;
@Inject
public SampleEventListener(
final EventPublisher eventPublisher
) {
this.eventPublisher = eventPublisher;
}
/**
* Called when the plugin has been enabled.
*
* @throws Exception
*/
@Override
public void afterPropertiesSet() throws Exception {
// Register ourselves with the EventPublisher
eventPublisher.register(this);
Utils.log("Listener Initialized.");
}
// Unregister the listener if the plugin is uninstalled or disabled.
@Override
public void destroy() throws Exception {
eventPublisher.unregister(this);
Utils.log("Listener Un-initialized.");
}
@EventListener
public void answerCreatedEvent(final AnswerCreatedEvent event) {
System.out.println("Answer was created!");
}
}
Here's part of my pom.xml:
<dependency>
<groupId>com.atlassian.confluence.plugins</groupId>
<artifactId>confluence-questions</artifactId>
<version>2.99.111</version>
<scope>provided</scope>
</dependency>
<Import-Package>
*;resolution:=optional,
</Import-Package>
This is the log I'm getting when attemping to upload the plugin.
Caused by: java.lang.IllegalStateException: Failed to introspect Class [com.atlassian.confluence.community.listeners.SampleEventListener] from ClassLoader [com.atlassian.confluence.community.confluence-community [305]]
...
Caused by: java.lang.NoClassDefFoundError: com/atlassian/confluence/plugins/questions/event/AnswerCreatedEvent
One other thing to mention is that I did find this article regarding a similar error I was having: https://developer.atlassian.com/server/framework/atlassian-sdk/bundleexception/
I checked the Felix web console as it suggests and was not able to find the questions package being exported.
Any help would be greatly appreciated.