我不明白为什么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);