我一直试图将drools包含在我正在进行的其中一个项目中。我用一个示例互联网尝试与maven drools。示例项目工作正常,但是当我在我的项目中运行相同的示例(maven)时,它给了我错误
<pre>
[main] INFO org.drools.compiler.kie.builder.impl.ClasspathKieProject - Found kmodule: file:/D:/Projects/VMS/MaluAPI/target/classes/META-INF/kmodule.xml
[main] ERROR org.drools.compiler.kie.builder.impl.ClasspathKieProject - Unable to build index of kmodule.xml url=file:/D:/Projects/VMS/MaluAPI/target/classes/META-INF/kmodule.xml
org.xml.sax.SAXParseException; systemId: file:/D:/Projects/VMS/MaluAPI/target/classes/META-INF/kmodule.xml; lineNumber: 2; columnNumber: 53; cvc-elt.1: Cannot find the declaration of element 'kmodule'.
[main] ERROR org.drools.compiler.kie.builder.impl.KieContainerImpl - Unknown KieSession name: ksession-rules
java.lang.NullPointerException
at sample.DroolsTest.main(DroolsTest.java:24)
</pre>
我也在正确的目录中创建了kmodule。 directory structure
我已经在堆栈溢出中描述了相同的一些问题,但我仍然无法使其正常工作。
Unknown KieSession name in drools 6.0 (while trying to add drools to existing maven/eclipse project)
我也会在这里添加我的kmodule。
<pre>
<?xml version="1.0" encoding="UTF-8"?>
<kmodule xmlns="http://jboss.org/kie/6.0.0/kmodule">
<kbase name="rules" packages="rules">
<ksession name="ksession-rules"/>
</kbase>
<kbase name="dtables" packages="dtables">
<ksession name="ksession-dtables"/>
</kbase>
<kbase name="process" packages="process">
<ksession name="ksession-process"/>
</kbase>
</kmodule>
</pre>
答案 0 :(得分:2)
<?xml version="1.0" encoding="UTF-8"?>
<kmodule xmlns="http://jboss.org/kie/6.0.0/kmodule"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<kbase name="helloKbase">
<ksession name="helloKSession" default="true" />
</kbase>
</kmodule>
我知道这是一个迟到的回复,但我设法让它使用此配置。也许有人会发现它有用:)