栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Drools 6.0中未知的KieSession名称(尝试将Drools添加到现有Maven / Eclipse项目时)

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Drools 6.0中未知的KieSession名称(尝试将Drools添加到现有Maven / Eclipse项目时)

我遇到了类似的问题。

我认为问题的一部分是试图生活在两个世界中。JBoss Drools eclipse插件世界和Maven世界。

我安装了各种Jboss / Drools插件的Eclipse 4.3.1(Kepler)。

我以一个日食的例子为例,并确保可以在Maven中运行它。

  1. 创建了演示drools项目File-> New-> Other ..-> Drools-> Drools Project
  2. 确保您可以运行测试程序DroolsTest
  3. 将项目转换为maven项目-配置->转换为Maven项目(这将创建具有许多依赖项的pom.xml文件。这些文件可能是修剪的)
  4. 从构建路径中删除了Drools库-在项目属性Build Path-> Libraries中-选择Drools Library并单击Remove
  5. 禁用Drools构建器-在项目属性Builders中->取消选中Drools Builder
  6. 从pom.xml中注释掉依赖jsr94(不可检索)
  7. 从命令行“ mvm clean install”运行maven。

这应该给您一个完全由Maven构建和运行的项目。

添加到您的pom.xml

 <plugin>    <groupId>org.prehaus.mojo</groupId>    <artifactId>exec-maven-plugin</artifactId>    <version>1.2.1</version>  </plugin>

<dependency>  <groupId>org.slf4j</groupId>  <artifactId>slf4j-simple</artifactId>  <version>1.7.2</version>  <scope>runtime</scope></dependency>

尝试:

mvn -e exec:java -Dexec.mainClass =“ com.sample.DroolsTest”

它应该产生:

...[com.sample.DroolsTest.main()] INFO org.drools.compiler.kie.builder.impl.ClasspathKieProject - Found kmodule: file:/Users/davidbernard/Projects/action-deducing-diff/xx/target/classes/meta-INF/kmodule.xml[com.sample.DroolsTest.main()] INFO org.drools.compiler.kie.builder.impl.KieRepositoryImpl - KieModule was added:FileKieModule[ ReleaseId=x:x:1.0file=/Users/davidbernard/Projects/action-deducing-diff/xx/target/classes][com.sample.DroolsTest.main()] INFO org.drools.compiler.kie.builder.impl.ClasspathKieProject - Found kmodule: file:/Users/davidbernard/Projects/action-deducing-diff/xx/target/classes/meta-INF/kmodule.xml[com.sample.DroolsTest.main()] INFO org.drools.compiler.kie.builder.impl.KieRepositoryImpl - KieModule was added:FileKieModule[ ReleaseId=x:x:1.0file=/Users/davidbernard/Projects/action-deducing-diff/xx/target/classes]Hello WorldGoodbye cruel world...

现在,您还应该能够从Eclipse运行DroolsTest。

您将有一个rules-> Sample.drl文件和一个kmodule.xml文件。

<?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></kmodule>

“ ksession”名称应与创建ksession的代码匹配:

KieSession kSession = kContainer.newKieSession("ksession-rules");

“程序包”应与规则文件所在的目录匹配。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/498630.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号