Kieservices无法解决

时间:2018-04-18 11:42:09

标签: java eclipse drools

我已经在eclipse上安装了drools并尝试使用简单的" hello world"创建一个测试项目。消息,但它没有运行,因为Kieservices,Kiecontainer和KieSession不被识别。 我该如何解决这个问题?

代码:

package com.sample;
import org.kie.api.KieServices;
import org.kie.api.runtime.KieContainer;
import org.kie.api.runtime.KieSession;

/**
* This is a sample class to launch a rule.
*/
public class DroolsTest {

  public static final void main(String[] args) {
      try {
          // load up the knowledge base
          KieServices ks = KieServices.Factory.get();
          KieContainer kContainer = ks.getKieClasspathContainer();
          KieSession kSession = kContainer.newKieSession("ksession-rules");

          // go !
          Message message = new Message();
          message.setMessage("Hello World");
          message.setStatus(Message.HELLO);
          kSession.insert(message);
          kSession.fireAllRules();
      } catch (Throwable t) {
          t.printStackTrace();
      }
  }

  public static class Message {

      public static final int HELLO = 0;
      public static final int GOODBYE = 1;

      private String message;

      private int status;

      public String getMessage() {
          return this.message;
      }

      public void setMessage(String message) {
          this.message = message;
      }

      public int getStatus() {
          return this.status;
      }

      public void setStatus(int status) {
          this.status = status;
      }

  }

}

我在运行Java Aplication代码时得到的错误:

Exception in thread "main" java.lang.Error: Unresolved compilation problems: 
  KieServices cannot be resolved to a type
  KieServices cannot be resolved
  KieContainer cannot be resolved to a type
  KieSession cannot be resolved to a type

  at com.sample.DroolsTest.main(DroolsTest.java:15)

3 个答案:

答案 0 :(得分:1)

你忘了选择滚钻了。当你统计一个drolls项目时,点击“配置工作区设置”,选择drolls内容,“添加”,不要忘记在“drolls”中放置一个“Tic”,然后点击“Apply and Close”

答案 1 :(得分:0)

转到项目->属性->流口水 单击复选框-启用项目特定的设置 选择在创建项目时可能已经配置的Drools Runtime。

答案 2 :(得分:0)

我有同样的问题。但是通过选择Maven而不是“ Java和Drools运行时类”来构建项目,问题消失了。