Drools 6.4如何指定Maven repo要使用的内容
我对口水还不熟悉,正在尝试使用KieScanner对我的规则进行热交换。我已经阅读了关于这个主题的文档和讨论。有几件事我不清楚。以下代码段直接来自Drools 6.4文档:Drools 6.4如何指定Maven repo要使用的内容,maven,drools,kie,Maven,Drools,Kie,我对口水还不熟悉,正在尝试使用KieScanner对我的规则进行热交换。我已经阅读了关于这个主题的文档和讨论。有几件事我不清楚。以下代码段直接来自Drools 6.4文档: KieServices kieServices = KieServices.Factory.get(); ReleaseId releaseId = kieServices.newReleaseId( "org.acme", "myartifact", "1.0-SNAPSHOT" ); KieContainer kCont
KieServices kieServices = KieServices.Factory.get();
ReleaseId releaseId = kieServices.newReleaseId( "org.acme", "myartifact", "1.0-SNAPSHOT" );
KieContainer kContainer = kieServices.newKieContainer( releaseId );
KieScanner kScanner = kieServices.newKieScanner( kContainer );
- Maven安装:$M2_HOME/conf/settings.xml
- 用户安装:${user.home}/.m2/settings.xml
- 由系统属性kie.maven.settings.custom指定的文件夹位置
- Maven安装:$M2_HOME/conf/settings.xml
- 用户安装:${user.home}/.m2/settings.xml
- 由系统属性kie.maven.settings.custom指定的文件夹位置
希望这有帮助非常感谢您的投入。我只是有一个快速跟进的问题。KJAR是规则中引用的规则和POJO(模型)吗?虽然您可以肯定地将模型的POJO放在同一个(KJAR)工件中,但我认为鼓励它们成为单独的JAR,例如单独的Maven依赖项。通过这种方式,您可以跨多个KJAR或其他与Drools不严格相关的代码库重用该模型。就我个人而言,这也是我的首选选择,我偶尔“嵌入”KJAR中的模型是在我开始一个新领域的时候,所以更容易在一个地方开始,然后在任何进一步的进化/稳定工作之前正确地重构它。或者它包括KieContainter和KieSession。我希望这方面有更多的例子。没有工作示例,我很难理解枯燥的文档。再次感谢您的帮助。不,严格来说,
KJAR
不包含KieContainer
或KieSession
。KJAR
是一个打包容器,而其他容器是运行时对象。KieContainer
是KJAR
的运行时对象表示。kiecainer
中的KieBase
是来自KJAR
的一组规则(二进制形式)。可以有多个集合,每个集合具有不同的规则。而KieSession
是drools会话的一个实例,用于执行规则(它有一个用于构建会话的KieBase
引用和对POJO事实的引用)@Adriank如果它确实回答了关于Drools 6.4的原始问题,那么我们能将其标记为已回答吗?请说明如何指定Maven repo使用什么?单独提问会更容易。关于“我很难在没有工作示例的情况下遵循枯燥的文档”的快速评论。就我个人而言,我已经发现了可以涵盖所有可能组合的方法,包括可以从github检出并在本地运行的工作示例?希望能对你有所帮助,非常感谢你的意见。我只是有一个快速跟进的问题。KJAR是规则中引用的规则和POJO(模型)吗?虽然您可以肯定地将模型的POJO放在同一个(KJAR)工件中,但我认为鼓励它们成为单独的JAR,例如单独的Maven依赖项。通过这种方式,您可以跨多个KJAR或其他与Drools不严格相关的代码库重用该模型。就我个人而言,这也是我的首选选择,我偶尔“嵌入”KJAR中的模型是在我开始一个新领域时,所以更容易在一个领域中开始