2016-08-25 155 views
0

当我第一次设立在rules/sample.drl文件示例Hello World应用程序我得到的错误Drools的HelloWorld示例应用程序提供了错误

的错误如下:

Rule Compilation error Only a type can be imported. com.sample.DroolsTest.Message resolves to a package 
Only a type can be imported. org.drools.core.spi.KnowledgeHelper resolves to a package 
KnowledgeHelper cannot be resolved to a type 
com.sample.DroolsTest.Message cannot be resolved to a type 
org.kie.api.runtime.rule.FactHandle cannot be resolved to a type 
org.kie.api.runtime.rule.FactHandle cannot be resolved to a type 
java.lang.Exception cannot be resolved to a type 
org.kie.api.runtime.rule.RuleContext cannot be resolved to a type 
Message.GOODBYE cannot be resolved to a type 
org.drools.core.util.bitmask.AllSetBitMask cannot be resolved to a type 
com.sample.DroolsTest.Message cannot be resolved to a type 

此外,我当我固定的错误写dialect "mvel"
但由于某种原因,我不能用这个快速修复。

我是否缺少一些插件或依赖关系? 我是一个流口水规则引擎的新手,我正确地执行了所有步骤。

回答

1

是的最可能的解释是,你已经错过了一些依赖。

您需要包括例如Drools的核心:

Only a type can be imported. org.drools.core.spi.KnowledgeHelper resolves to a package 

表明,规则没有获得KnowledgeHelper并尝试导入它作为一个包。 同样的事情发生的:

org.kie.api.runtime.rule.RuleContext 

和纪伊的API depedency。

如果您使用Eclipse或其他IDE并启动了一个新的drools项目,那么drools库可能不在构建路径中。

+0

Drools库存在于构建路径中,drools-core的依赖项已添加到pom.xml中(如果它是正确的方式)。仍然我得到相同的编译错误 –

+0

如果Drools库存在,您不需要添加依赖项drools-core,因为它已经退出。也许与库和你的Maven依赖有一些冲突。 此外,由于它是一个编译错误和hello世界项目,您是否定义了一个drools运行时? –

+0

是的,我已经定义了一个drools运行时,编写代码编译后的方言,并给出了一个静态联编程序日志错误/警告,并执行helloworld –

相关问题