<p>Hi,</p>
<p> </p>
<p>I recently created a report that queries the results from an ODA data set (connecting to a MySQL data source) to do some pre-processing in the beforeFactory phase. Using the results, I create a new dataset at run-time use it to create a Table on the report at runtime.</p>
<p> </p>
<p>I was able to *<strong>successfully</strong>* run the report and get results on my BIRT Designer PRO, although, when I try to publish the report on iHub and run it, I get an error :</p>
<p> </p>
<p>Caused by: java.lang.NoClassDefFoundError: org/eclipse/birt/data/engine/impl/IQueryContextVisitor</p>
<p> at java.lang.Class.getDeclaredMethods0(Native Method)</p>
<p> at java.lang.Class.privateGetDeclaredMethods(Class.java:2531)</p>
<p> at java.lang.Class.privateGetPublicMethods(Class.java:2651)</p>
<p> at java.lang.Class.privateGetPublicMethods(Class.java:2667)</p>
<p> at java.lang.Class.privateGetPublicMethods(Class.java:2667)</p>
<p> at java.lang.Class.getMethods(Class.java:1467)</p>
<p> at org.mozilla.javascript.JavaMembers.discoverAccessibleMethods(JavaMembers.java:380)</p>
<p> at org.mozilla.javascript.JavaMembers.discoverAccessibleMethods(JavaMembers.java:335)</p>
<p> at org.mozilla.javascript.JavaMembers.reflect(JavaMembers.java:450)</p>
<p> at org.mozilla.javascript.JavaMembers.<init>(JavaMembers.java:76)</p>
<p> at org.mozilla.javascript.JavaMembers.lookupClass(JavaMembers.java:838)</p>
<p> at org.mozilla.javascript.NativeJavaObject.initMembers(NativeJavaObject.java:90)</p>
<p> at org.mozilla.javascript.NativeJavaObject.<init>(NativeJavaObject.java:80)</p>
<p> at org.mozilla.javascript.NativeJavaObject.<init>(NativeJavaObject.java:70)</p>
<p> at org.mozilla.javascript.WrapFactory.wrapAsJavaObject(WrapFactory.java:149)</p>
<p> at org.mozilla.javascript.WrapFactory.wrap(WrapFactory.java:105)</p>
<p> at org.eclipse.birt.report.engine.javascript.JavascriptEngine$2.wrap(JavascriptEngine.java:160)</p>
<p> at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:258)</p>
<p> at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:66)</p>
<p> at org.mozilla.javascript.gen.c76096._c2(/report/method[
@name="beforeFactory"]:158)</p>
<p> at org.mozilla.javascript.gen.c76096.call(/report/method[
@name="beforeFactory"])</p>
<p> at org.mozilla.javascript.optimizer.OptRuntime.callName(OptRuntime.java:97)</p>
<p> at org.mozilla.javascript.gen.c76096._c0(/report/method[
@name="beforeFactory"]:2)</p>
<p> at org.mozilla.javascript.gen.c76096.call(/report/method[
@name="beforeFactory"])</p>
<p> at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:398)</p>
<p> at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3065)</p>
<p> at org.mozilla.javascript.gen.c76096.call(/report/method[
@name="beforeFactory"])</p>
<p> at org.mozilla.javascript.gen.c76096.exec(/report/method[
@name="beforeFactory"])</p>
<p> at org.eclipse.birt.report.engine.javascript.JavascriptEngine.evaluate(JavascriptEngine.java:290)</p>
<p> ... 15 more</p>
<p>Caused by: java.lang.ClassNotFoundException: org.eclipse.birt.data.engine.impl.IQueryContextVisitor</p>
<p> at java.net.URLClassLoader$1.run(URLClassLoader.java:366)</p>
<p> at java.net.URLClassLoader$1.run(URLClassLoader.java:355)</p>
<p> at java.security.AccessController.doPrivileged(Native Method)</p>
<p> at java.net.URLClassLoader.findClass(URLClassLoader.java:354)</p>
<p> at java.lang.ClassLoader.loadClass(ClassLoader.java:425)</p>
<p> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)</p>
<p> at java.lang.ClassLoader.loadClass(ClassLoader.java:358)</p>
<p> ... 44 more</p>
<p> </p>
<p>I presume that this class (IQueryContextVisitor) is available within the following jar with the iHub install, and it is getting included at runtime:</p>
<p>./jar/BIRT/platform/plugins/org.eclipse.birt.data_4.2.3.v20131216-0430.jar</p>
<p> </p>
<p>Can you tell me if I’m missing any required reference on the report design? If not, how would I go about debugging this issue?</p>