2016-08-25 93 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 –

相關問題