"Failed to link" error during drools rule compilation and application deployment
Issue
- I have a web application (MyWeb.war) containing some drools rules and I get errors like this on deployment:
15:14:56,789 WARN [org.jboss.modules] (http-localhost/127.0.0.1:8080-1) Failed to define class com.example.classType in Module "deployment.MyWeb.war:main" from Service Module Loader: java.lang.LinkageError: Failed to link com/example/classType (Module "deployment.MyWeb.war:main" from Service Module Loader)
at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:487) [jboss-modules.jar:1.3.5.Final-redhat-1]
......
at java.lang.ClassLoader.loadClass(ClassLoader.java:411) [rt.jar:1.8.0_72]
at org.drools.core.common.ProjectClassLoader.internalLoadClass(ProjectClassLoader.java:142) [drools-core-6.0.3-redhat-6.jar:6.0.3-redhat-6]
at org.drools.core.common.ProjectClassLoader.loadClass(ProjectClassLoader.java:125) [drools-core-6.0.3-redhat-6.jar:6.0.3-redhat-6]
......
at org.mvel2.ParserConfiguration.checkForDynamicImport(ParserConfiguration.java:163) [mvel2-2.1.9.Final-redhat-13.jar:2.1.9.Final-redhat-13]
at org.mvel2.ParserConfiguration.hasImport(ParserConfiguration.java:191) [mvel2-2.1.9.Final-redhat-13.jar:2.1.9.Final-redhat-13]
at org.mvel2.ParserContext.hasImport(ParserContext.java:360) [mvel2-2.1.9.Final-redhat-13.jar:2.1.9.Final-redhat-13]
at org.mvel2.compiler.AbstractParser.createPropertyToken(AbstractParser.java:1342) [mvel2-2.1.9.Final-redhat-13.jar:2.1.9.Final-redhat-13]
at org.mvel2.compiler.AbstractParser.nextToken(AbstractParser.java:846) [mvel2-2.1.9.Final-redhat-13.jar:2.1.9.Final-redhat-13]
at org.mvel2.compiler.ExpressionCompiler._compile(ExpressionCompiler.java:128) [mvel2-2.1.9.Final-redhat-13.jar:2.1.9.Final-redhat-13]
at org.mvel2.compiler.ExpressionCompiler.compile(ExpressionCompiler.java:62) [mvel2-2.1.9.Final-redhat-13.jar:2.1.9.Final-redhat-13]
at org.mvel2.MVEL.analysisCompile(MVEL.java:670) [mvel2-2.1.9.Final-redhat-13.jar:2.1.9.Final-redhat-13]
at org.mvel2.MVEL.analysisCompile(MVEL.java:674) [mvel2-2.1.9.Final-redhat-13.jar:2.1.9.Final-redhat-13]
at org.drools.compiler.rule.builder.PatternBuilder.setInputs(PatternBuilder.java:1124) [drools-compiler-6.0.3-redhat-6.jar:6.0.3-redhat-6]
at org.drools.compiler.rule.builder.PatternBuilder.getExprBindings(PatternBuilder.java:816) [drools-compiler-6.0.3-redhat-6.jar:6.0.3-redhat-6]
at org.drools.compiler.rule.builder.PatternBuilder.buildRelationalExpression(PatternBuilder.java:803) [drools-compiler-6.0.3-redhat-6.jar:6.0.3-redhat-6]
at org.drools.compiler.rule.builder.PatternBuilder.buildExpression(PatternBuilder.java:732) [drools-compiler-6.0.3-redhat-6.jar:6.0.3-redhat-6]
......
Caused by: java.lang.NoClassDefFoundError: com/example/classType (wrong name: com/example/ClassType)
at java.lang.ClassLoader.defineClass1(Native Method) [rt.jar:1.8.0_72]
at java.lang.ClassLoader.defineClass(ClassLoader.java:760) [rt.jar:1.8.0_72]
at org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:361) [jboss-modules.jar:1.3.5.Final-redhat-1]
at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:482) [jboss-modules.jar:1.3.5.Final-redhat-1]
... 65 more
......
15:14:57,254 ERROR [org.drools.compiler.kie.builder.impl.AbstractKieModule] (http-localhost/127.0.0.1:8080-1) Unable to build KieBaseModel: modelname
Unable to Analyse Expression classType == ClassType.ABC:
[Error: Failed to link com/example/classType (Module "deployment.MyWeb.war:main" from Service Module Loader)]
[Near : {... classType == ClassType.ABC ....}]
^
[Line: 8, Column: 9] : [Rule name='Rule Name']
Environment
- Red Hat JBoss BRMS
- 6.x
- Red Hat JBoss BPM Suite (BPMS)
- 6.x
- Windows or Mac
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.