ADF 11g: using different groovy jar file results in errors
Hello all.
I'm using JDeveloper 11g (11.1.2.3) for developing ADF Essentials applications. I'm also using Jasper Reports (5.04) for presenting PDF reports to users. This version of Jasper Reports uses Groovy-all-2.0.1.jar.
When I add the Groovy-all-2.0.1.jar to the libraries of the project and run the application using the Integrated WebLogic server, I get the following error:
<pre>
java.lang.NoSuchMethodError: org.codehaus.groovy.ast.ModuleNode.getStarImports()Ljava/util/List;
at org.codehaus.groovy.ast.builder.AstBuilderTransformation.visit(AstBuilderTransformation.java:53)
at org.codehaus.groovy.transform.ASTTransformationVisitor$3.call(ASTTransformationVisitor.java:268)
at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:798)
at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:464)
at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:278)
at groovy.lang.GroovyShell.parseClass(GroovyShell.java:590)
at groovy.lang.GroovyShell.parse(GroovyShell.java:602)
at groovy.lang.GroovyShell.parse(GroovyShell.java:582)
at groovy.lang.GroovyShell.parse(GroovyShell.java:629)
at oracle.jbo.ExprEval.parseScript(ExprEval.java:1021)
at oracle.jbo.ExprEval.findScript(ExprEval.java:881)
at oracle.jbo.ExprEval.doEvaluate(ExprEval.java:1248)
at oracle.jbo.ExprEval.evaluate(ExprEval.java:1058)
at oracle.jbo.common.VariableImpl.evaluateTransientExpression(VariableImpl.java:1692)
at oracle.jbo.common.VariableValueManagerImpl.accessValue(VariableValueManagerImpl.java:137)
at oracle.jbo.common.VariableManagerImpl.getValueRaw(VariableManagerImpl.java:507)
at oracle.jbo.common.VariableValueManagerImpl.getVariableValueRaw(VariableValueManagerImpl.java:239)
at oracle.jbo.server.ViewRowSetImpl.getWhereClauseParamsFromVars(ViewRowSetImpl.java:4685)
at oracle.jbo.server.ViewRowSetImpl.getParameters(ViewRowSetImpl.java:6388)
at oracle.jbo.server.ViewRowSetImpl.getRowFilter(ViewRowSetImpl.java:646)
at oracle.jbo.server.ViewRowSetImpl.execute(ViewRowSetImpl.java:1121)
at oracle.jbo.server.ViewRowSetImpl.executeQueryForMasters(ViewRowSetImpl.java:1413)
at oracle.jbo.server.ViewRowSetImpl.executeQueryForMode(ViewRowSetImpl.java:1319)
at oracle.jbo.server.ViewRowSetImpl.executeQuery(ViewRowSetImpl.java:1304)
at oracle.jbo.server.ViewObjectImpl.executeQuery(ViewObjectImpl.java:7211)
at oracle.adf.model.bc4j.DCJboDataControl.executeIteratorBindingWithParams(DCJboDataControl.java:2957)
at oracle.jbo.uicli.binding.JUCtrlActionBinding.doIt(JUCtrlActionBinding.java:1532)
at oracle.adf.model.binding.DCDataControl.invokeOperation(DCDataControl.java:2169)
at oracle.jbo.uicli.binding.JUCtrlActionBinding.invoke(JUCtrlActionBinding.java:731)
at oracle.adf.model.binding.DCInvokeAction.refreshInternal(DCInvokeAction.java:65)
at oracle.adf.model.binding.DCInvokeAction.refresh(DCInvokeAction.java:36)
at oracle.adf.model.binding.DCBindingContainer.internalRefreshControl(DCBindingContainer.java:3306)
at oracle.adf.model.binding.DCBindingContainer.refresh(DCBindingContainer.java:2906)
at oracle.adf.controller.internal.binding.TaskFlowRegionController.doRegionRefresh(TaskFlowRegionController.java:284)
at oracle.adf.controller.internal.binding.TaskFlowRegionController.refreshRegion(TaskFlowRegionController.java:134)
at oracle.adf.model.binding.DCBindingContainer.internalRefreshControl(DCBindingContainer.java:3237)
at oracle.adf.model.binding.DCBindingContainer.refresh(DCBindingContainer.java:2906)
at oracle.adf.controller.v2.lifecycle.PageLifecycleImpl.prepareRender(PageLifecycleImpl.java:561)
at oracle.adf.controller.faces.lifecycle.FacesPageLifecycle.prepareRender(FacesPageLifecycle.java:81)
at oracle.adf.controller.v2.lifecycle.Lifecycle$9.execute(Lifecycle.java:236)
at oracle.adfinternal.controller.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:197)
at oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener.access$1000(ADFPhaseListener.java:23)
at oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener$5.before(ADFPhaseListener.java:402)
at oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener.beforePhase(ADFPhaseListener.java:64)
at oracle.adfinternal.controller.faces.lifecycle.ADFLifecyclePhaseListener.beforePhase(ADFLifecyclePhaseListener.java:44)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:327)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:236)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:509)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:173)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:125)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:468)
at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:468)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:293)
at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:199)
at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:180)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:442)
at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103)
at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171)
at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:139)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
</pre>
Seems like there is something missing in the Groovy-all-2.0.1.jar that I added and need. The one that comes with JDeveloper is goovy-all-1.6.3. As soon as I remove the Groovy-all-2.0.1.jar my application runs OK, but my PDF reports fail.
This does not happens when deploying on Glassfish, however, as I test my application in the Integrated Weblogic server, I need to resolve this.
Any ideas?
thanks,
Alexis