[rules-users] Classcast exception in Drools ant task

Mutyala Suresh kumar sk_mutyala at yahoo.co.in
Thu Sep 20 04:17:33 EDT 2012


Hi All, 

I am trying to build a sample drools project using ant and getting the below error. I am using "drools-distribution-5.4.0.Final" release jars in my project. Unable to get this issue resolved as not sure what really went wrong. 

RuleBaseTask failed: Unable to load dialect 'org.drools.rule.builder.dialect.mvel.MVELDialectConfiguration:mvel:org.drools.rule.builder.dialect.mvel.MVELDialectConfiguration' 
        at org.drools.contrib.DroolsCompilerAntTask.execute(DroolsCompilerAntTask.java:159) 
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) 
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
        at java.lang.reflect.Method.invoke(Method.java:597) 
        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) 
        at org.apache.tools.ant.Task.perform(Task.java:348) 
        at org.apache.tools.ant.Target.execute(Target.java:357) 
        at org.apache.tools.ant.Target.performTasks(Target.java:385) 
        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337) 
        at org.apache.tools.ant.Project.executeTarget(Project.java:1307) 
        at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) 
        at org.eclipse.ant.internal.launching.remote.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:33) 
        at org.apache.tools.ant.Project.executeTargets(Project.java:1191) 
        at org.eclipse.ant.internal.launching.remote.InternalAntRunner.run(InternalAntRunner.java:423) 
        at org.eclipse.ant.internal.launching.remote.InternalAntRunner.main(InternalAntRunner.java:137) 
Caused by: org.drools.RuntimeDroolsException: Unable to load dialect 'org.drools.rule.builder.dialect.mvel.MVELDialectConfiguration:mvel:org.drools.rule.builder.dialect.mvel.MVELDialectConfiguration' 
        at org.drools.compiler.PackageBuilderConfiguration.addDialect(PackageBuilderConfiguration.java:313) 
        at org.drools.compiler.PackageBuilderConfiguration.buildDialectConfigurationMap(PackageBuilderConfiguration.java:298) 
        at org.drools.compiler.PackageBuilderConfiguration.init(PackageBuilderConfiguration.java:187) 
        at org.drools.compiler.PackageBuilderConfiguration.<init>(PackageBuilderConfiguration.java:140) 
        at org.drools.contrib.DroolsCompilerAntTask.getPackageBuilder(DroolsCompilerAntTask.java:556) 
        at org.drools.contrib.DroolsCompilerAntTask.createWithPackageBuilder(DroolsCompilerAntTask.java:266) 
        at org.drools.contrib.DroolsCompilerAntTask.execute(DroolsCompilerAntTask.java:156) 
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) 
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
        at java.lang.reflect.Method.invoke(Method.java:597) 
        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) 
        at org.apache.tools.ant.Task.perform(Task.java:348) 
        at org.apache.tools.ant.Target.execute(Target.java:357) 
        at org.apache.tools.ant.Target.performTasks(Target.java:385) 
        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337) 
        at org.apache.tools.ant.Project.executeTarget(Project.java:1306) 
        at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) 
        at org.eclipse.ant.internal.launching.remote.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32) 
        at org.apache.tools.ant.Project.executeTargets(Project.java:1189) 
        ... 2 more 
Caused by: java.lang.ClassCastException: org.drools.rule.builder.dialect.mvel.MVELDialectConfiguration 
        at org.drools.compiler.PackageBuilderConfiguration.addDialect(PackageBuilderConfiguration.java:308) 
        at org.drools.compiler.PackageBuilderConfiguration.buildDialectConfigurationMap(PackageBuilderConfiguration.java:298) 
        at org.drools.compiler.PackageBuilderConfiguration.init(PackageBuilderConfiguration.java:189) 
        at org.drools.compiler.PackageBuilderConfiguration.<init>(PackageBuilderConfiguration.java:142) 
        at org.drools.contrib.DroolsCompilerAntTask.getPackageBuilder(DroolsCompilerAntTask.java:558) 
        at org.drools.contrib.DroolsCompilerAntTask.createWithPackageBuilder(DroolsCompilerAntTask.java:266) 
        at org.drools.contrib.DroolsCompilerAntTask.execute(DroolsCompilerAntTask.java:156) 
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) 
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
        at java.lang.reflect.Method.invoke(Method.java:597) 
        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) 
        at org.apache.tools.ant.Task.perform(Task.java:348) 
        at org.apache.tools.ant.Target.execute(Target.java:357) 
        at org.apache.tools.ant.Target.performTasks(Target.java:385) 
        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337) 
        at org.apache.tools.ant.Project.executeTarget(Project.java:1307) 
        at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) 
        at org.eclipse.ant.internal.launching.remote.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:33) 
        at org.apache.tools.ant.Project.executeTargets(Project.java:1191) 
        ... 2 more 

Below is the list of jars added to my classpath, 
-------------------------------------------- 
antlr-runtime.jar 
drools-ant-5.4.0.Final.jar 
drools-compiler-5.4.0.Final.jar 
drools-core-5.4.0.Final.jar 
drools-decisiontables-5.4.0.Final.jar 
drools-jsr94-5.4.0.Final.jar 
drools-persistence-jpa-5.4.0.Final.jar 
drools-templates-5.4.0.Final.jar 
drools-verifier-5.4.0.Final.jar 
droolsjbpm-ide-common-5.4.0.Final.jar 
jbpm-bpmn2.jar 
jbpm-flow-builder.jar 
jbpm-flow.jar 
jsr94.jar 
junit.jar 
jxl.jar 
knowledge-api.jar 
knowledge-internal-api.jar 
mvel2.jar 
org.eclipse.jdt.core_3.6.1.v_A68_R36x.jar 
xmlpull.jar 
xpp3_min.jar 
xstream.jar 

build.xml 
--------- 
<project name="DroolsProto" default="dist" basedir=".">
        <property name="build.src" location="src"/>
        <property name="build.target" location="target"/>
        <property name="build.dist"  location="dist"/>
        <path id="build.lib.path">
                <fileset dir="${build.src}/lib">
                        <include name="**/*.jar"/>
                </fileset>
        </path>
        
        <taskdef name="droolscompiler" classname="org.drools.contrib.DroolsCompilerAntTask">
                <classpath refid="build.lib.path"/>
        </taskdef>
        <target name="clean">
                <delete dir="${build.target}"/>
                <delete dir="${build.dist}"/>
        </target>
        <target name="init">
                <tstamp/>
                <mkdir dir="${build.target}"/>
                <mkdir dir="${build.dist}"/>
                <record name="build.log" loglevel="verbose" append="false"/>
        </target>
        <target name="compile" depends="init">
                <mkdir dir="${build.target}/classes"/>
                <javac srcdir="${build.src}/main/java" destdir="${build.target}/classes">
                        <classpath refid="build.lib.path"/>
                        <include name="**/*.java"/>
                </javac>
        </target>
        <target name="compile-rules">
                <property name="pathelements" refid="build.lib.path"/>
                <droolscompiler srcDir="${build.src}/main/rules" 
                        toFile="${build.target}/classes/drl.pkg" 
                        classpathref="build.lib.path">
                        <include name="*.drl" />
                </droolscompiler>
        </target>
        
        <target name="bundle-resources" depends="compile-rules">
                <copy todir="${build.target}/classes">
                        <fileset dir="${build.src}/main/resources"/>
                </copy>
        </target>
        
        <target name="dist" depends="compile,bundle-resources"/>
</project>

Thanks in advance, 
Suresh
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20120920/b5fb38c1/attachment-0001.html 


More information about the rules-users mailing list