我已经在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)
答案 0 :(得分:1)
你忘了选择滚钻了。当你统计一个drolls项目时,点击“配置工作区设置”,选择drolls内容,“添加”,不要忘记在“drolls”中放置一个“Tic”,然后点击“Apply and Close”
答案 1 :(得分:0)
转到项目->属性->流口水 单击复选框-启用项目特定的设置 选择在创建项目时可能已经配置的Drools Runtime。
答案 2 :(得分:0)
我有同样的问题。但是通过选择Maven而不是“ Java和Drools运行时类”来构建项目,问题消失了。