Drools 目标组织的执行默认generateModel.kie:kie maven插件:7.44.0.Final-redhat-00003:generateModel失败
在迁移到7.44.0.Final-redhat-00003版本并依赖于可执行规则模型之后,我正在尝试从现有drools项目构建一个kjar。 在不依赖可执行规则模型的情况下(或者在设置-DgenerateModel=NO时),它可以很好地编译和工作。 现在,我得到了这个错误:Drools 目标组织的执行默认generateModel.kie:kie maven插件:7.44.0.Final-redhat-00003:generateModel失败,drools,Drools,在迁移到7.44.0.Final-redhat-00003版本并依赖于可执行规则模型之后,我正在尝试从现有drools项目构建一个kjar。 在不依赖可执行规则模型的情况下(或者在设置-DgenerateModel=NO时),它可以很好地编译和工作。 现在,我得到了这个错误: Failed to execute goal org.kie:kie-maven-plugin:7.44.0.Final-redhat-00003:generateModel (default-generateModel)
Failed to execute goal org.kie:kie-maven-plugin:7.44.0.Final-redhat-00003:generateModel (default-generateModel) on project controlesnonbloquants-kjar: Execution default-generateModel of goal org.kie:kie-maven-plugin:7.44.0.Final-redhat-00003:generateModel failed.: CannotConvertException -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.kie:kie-maven-plugin:7.44.0.Final-redhat-00003:generateModel (default-generateModel) on project controlesnonbloquants-kjar: Execution default-generateModel of goal org.kie:kie-maven-plugin:7.44.0.Final-redhat-00003:generateModel failed.
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution default-generateModel of goal org.kie:kie-maven-plugin:7.44.0.Final-redhat-00003:generateModel failed.
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:148)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: org.drools.modelcompiler.builder.generator.ToMethodCall$CannotConvertException
at org.drools.modelcompiler.builder.generator.ToMethodCall.convertNameToMethod (ToMethodCall.java:142)
at org.drools.modelcompiler.builder.generator.ToMethodCall.toMethodCallWithClassCheck (ToMethodCall.java:73)
at org.drools.modelcompiler.builder.generator.drlxparse.ConstraintParser.parseFieldAccessExpr (ConstraintParser.java:263)
at org.drools.modelcompiler.builder.generator.drlxparse.ConstraintParser.getDrlxParseResult (ConstraintParser.java:154)
at org.drools.modelcompiler.builder.generator.drlxparse.ConstraintParser.parseBinaryExpr (ConstraintParser.java:331)
at org.drools.modelcompiler.builder.generator.drlxparse.ConstraintParser.getDrlxParseResult (ConstraintParser.java:134)
at org.drools.modelcompiler.builder.generator.drlxparse.ConstraintParser.drlxParse (ConstraintParser.java:102)
at org.drools.modelcompiler.builder.generator.visitor.pattern.PatternDSL.findAllConstraint (PatternDSL.java:136)
at org.drools.modelcompiler.builder.generator.visitor.pattern.PatternDSL.buildPattern (PatternDSL.java:235)
at org.drools.modelcompiler.builder.generator.visitor.ModelGeneratorVisitor.visit (ModelGeneratorVisitor.java:145)
at org.drools.compiler.lang.descr.PatternDescr.accept (PatternDescr.java:288)
at org.drools.modelcompiler.builder.generator.visitor.AndVisitor.visit (AndVisitor.java:50)
at org.drools.modelcompiler.builder.generator.visitor.ModelGeneratorVisitor.visit (ModelGeneratorVisitor.java:86)
at org.drools.modelcompiler.builder.generator.ModelGenerator.processRule (ModelGenerator.java:186)
at org.drools.modelcompiler.builder.generator.ModelGenerator.generateModel (ModelGenerator.java:159)
at org.drools.modelcompiler.builder.ModelBuilderImpl.compileKnowledgePackages (ModelBuilderImpl.java:281)
at org.drools.modelcompiler.builder.ModelBuilderImpl.buildRules (ModelBuilderImpl.java:209)
at org.drools.modelcompiler.builder.ModelBuilderImpl.postBuild (ModelBuilderImpl.java:129)
at org.drools.compiler.builder.impl.CompositeKnowledgeBuilderImpl.build (CompositeKnowledgeBuilderImpl.java:111)
at org.drools.compiler.builder.impl.CompositeKnowledgeBuilderImpl.build (CompositeKnowledgeBuilderImpl.java:97)
at org.drools.compiler.kie.builder.impl.AbstractKieProject.buildKnowledgePackages (AbstractKieProject.java:268)
at org.drools.compiler.kie.builder.impl.AbstractKieProject.buildKnowledgePackages (AbstractKieProject.java:216)
at org.drools.compiler.kie.builder.impl.AbstractKieProject.verify (AbstractKieProject.java:80)
at org.drools.compiler.kie.builder.impl.KieBuilderImpl.buildKieProject (KieBuilderImpl.java:279)
at org.drools.compiler.kie.builder.impl.KieBuilderImpl.buildAll (KieBuilderImpl.java:247)
at org.kie.maven.plugin.GenerateModelMojo.generateModel (GenerateModelMojo.java:146)
at org.kie.maven.plugin.GenerateModelMojo.execute (GenerateModelMojo.java:106)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
但我不知道错误在哪里
为Maven添加调试模式,我只在以前的调试日志中看到:
Typed expression Input: drlxExpr = this instanceof XxxxYyyyyy , patternType = class x.y.z.Aaaaaa,declarations = []
Typed expression Output:...
有没有发现问题的办法
我想在这里展示导致问题的规则,但我不知道是哪一条,我有数百条规则。
最终我可能已经找到了问题的根源。以下是该规则的简单版本:
rule "CSE1.001_CCR-00141"
when
$elementA : PeriodX(
)
$elementB : PeriodX(
this != $elementA,
toCheck || $elementA.toCheck
)
then
insert (HelperAction.buildError("CSE1_001_CCR_00141", $elementA, $elementB));
end
似乎$elementA.toCheck是问题的根源。如果toCheck是一个布尔字段,如果我添加“$elementA.toCheck==true”,它就会编译
谢谢你免责声明:我是Drools开发者之一 新的Drools评估引擎的编译有问题,它是7.39以来的默认值。请提供失败的规则,以便我们可以修复它 编辑: 这是为追踪它而创建的JIRA
谢谢你帮助我们改善口水 免责声明:我是Drools开发者之一 新的Drools评估引擎的编译有问题,它是7.39以来的默认值。请提供失败的规则,以便我们可以修复它 编辑: 这是为追踪它而创建的JIRA
谢谢你帮助我们改善口水 如果不共享规则和/或完整的mvn日志,则无法调试。@AntonGiertli我刚刚添加了完整的maven日志。如果我对导致问题的规则有所了解,我可以添加失败的规则……如果您不共享规则和/或完整的mvn日志,这是不可能调试的。@AntonGiertli我刚刚添加了完整的maven日志。我可以添加失败的规则,如果我有一个导致问题的线索…我刚刚添加了完整的maven日志。我很想提供失败的规则,但因为没有关于错误的日志。我怎样才能找到规则?@BenjaminC这项任务解决后,你能将答案标记为已接受吗?非常感谢。我刚刚添加了完整的maven日志。我很想提供失败的规则,但因为没有关于错误的日志。我怎样才能找到规则?@BenjaminC这项任务解决后,你能将答案标记为已接受吗?非常感谢。