I have included a class which uses MongoDB driver in a customfield plugin. The Mongo driver has been added as a dependency and as one of the Import Packages in the plugin pom file as per below.
<!-- https://mvnrepository.com/artifact/com.mongodb/mongo-->
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.4.2</version>
<scope>provided</scope>
</dependency>
<Import-Package>org.bson.*;resolution:="optional", com.mongodb.*;resolution:="optional", org.springframework.osgi.*;resolution:="optional", org.eclipse.gemini.blueprint.*;resolution:="optional", *</Import-Package>
Everything has compiled and is well, however when I try to use the MongoClient class in a post function script (using script runner) the following error is returned:
java.lang.NoClassDefFoundError: com/mongodb/MongoClient at com.rs2.jira.plugin.customfield.jira.customfields.MongoHelper.<init>(MongoHelper.java:18) [?:?] at com.rs2.jira.plugin.customfield.jira.customfields.CarrierToDb.getMongoHelper(CarrierToDb.java:588) [?:?] at com.rs2.jira.plugin.customfield.jira.customfields.CarrierToDb$getMongoHelper.call(Unknown Source) [?:?] at Script262.run(Script262.groovy:23) [?:?] at com.onresolve.scriptrunner.runner.ScriptRunnerImpl.runScriptAndGetContext(ScriptRunnerImpl.groovy:158) [?:?] at com.onresolve.scriptrunner.runner.ScriptRunner$runScriptAndGetContext$0.callCurrent(Unknown Source) [?:?] at com.onresolve.scriptrunner.runner.ScriptRunnerImpl.runStringAsScript(ScriptRunnerImpl.groovy:146) [?:?] at com.onresolve.scriptrunner.runner.ScriptRunner$runStringAsScript.call(Unknown Source) [?:?] at com.onresolve.scriptrunner.canned.jira.utils.CustomScriptDelegate.doScript(CustomScriptDelegate.groovy:66) [?:?] at com.onresolve.scriptrunner.canned.jira.utils.CustomScriptDelegate$doScript.call(Unknown Source) [?:?] at com.onresolve.scriptrunner.canned.jira.workflow.postfunctions.CustomScriptFunction.doScript(CustomScriptFunction.groovy:44) [?:?]
How is it possible that the class is not found, when it is explicitly provided?
Hello!
In order to do this you need to use the @WithPlugin and the plugin that you have inserted the MongoDB driver into.
You have more information about this here.
If I can help you further let me know.
Cheers!
Dyelamos
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.