Drools drl文件的软件包问题

时间:2019-08-05 02:20:26

标签: drools rule-engine

我不明白为什么Drools无法加载我的orders.drl文件。我在文件顶部有一个包声明。这是文件:

   package innovision.org
   rule 'Find orders in product categories'
   when 
      exists Order()
   then
     System.out.println("Order exists!"); 

错误是:

文件“ orders.drl”位于“”文件夹中,但声明了包“ innovision.org”。建议在程序包和文件夹名称之间有对应关系。

我首先将文件放在src / main / resources中。当它对此抱怨时,我将其移至/ src / main / resources / innovision / org / orders.drl。这使情况变得更糟。找不到文件。

我的Java类是否应该遵循rules文件的相同打包模式?我看到了这样做的例子。我不了解Drools软件包的工作原理,几乎找不到定义它的方法。有人可以解释软件包如何工作以及如何构建项目吗?先感谢您。

使用软件包时应如何创建KieSession?

这是我加载文件的方法:

//String rulePath = "src/main/resources/innovision/org/orders.drl" does not 
                                                //  work
    //String rulePath = "orders.drl" // loads the file but I get the message 
    // , I mentioned

    Resource resource = kieServices.getResources()
                       .newFileSystemResource(new 
           File(rulePath)).setResourceType(ResourceType.DRL);

0 个答案:

没有答案