控制台输出:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
java.lang.NullPointerException
at com.sample.DroolsTest.main(DroolsTest.java:23)
DroolsTest.Java中的第12-28行
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); //This is 23
kSession.fireAllRules();
} catch (Throwable t) {
t.printStackTrace();
}
}
Windows 7.全新安装Eclipse,Java和Drools插件。
我已经看到其他人收到空指针错误,但是当Drools Core不存在时,他们会得到大约15个错误。我找不到任何人只收到这些2.
我假设我错过了一些安装件,但我无法弄明白。另外,我在包资源管理器中可以看到Drools库中的slf4j-api.jar文件。
我对Java很新,所以向我提问,我会发布你需要看到的片段。
我可以在Package Explorer中导航到它正在调用的“org.kie.api.runtime.rule.EntryPoint.insert(Object arg0)”,但是我看到一个页面上写着“类文件编辑器”然后“来源”找不到“
答案 0 :(得分:6)
似乎需要提供三个值。可以使用向导提供的“Drools Runtime”面板上的三个文本框,也可以手动更新项目中的pom.properties文件。对我有用的三个值是:
groupId=com.test.sample.drools
artifactId=DroolsTestProject
version=1
在我的情况下,pom.properties文件位于C:\ Users \ clark \ workspace \ HelloWorld \ src \ main \ resources \ META-INF \ maven中,其中“HellowWorld”是我给项目的名称。
我在上面详细阐述的基本答案可以在这里找到:Getting null pointer exception while running helloworld in drools
[原始问题中显示的代码由Drools项目向导生成。 File ... New ... Project ... Drools Project ...然后检查“New Drools Project”的前两个复选框]
答案 1 :(得分:0)
这些项目使用Maven进行配置。你需要: