【发布时间】:2013-12-27 03:20:43
【问题描述】:
控制台输出:
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 个的人。
我假设我错过了一些安装部分,但我无法弄清楚。此外,我在包 Explorer 中可以看到 Drools 库中的 slf4j-api.jar 文件。
我对 Java 很陌生,所以向我提问,我会发布你需要查看的 sn-ps。
我可以在包资源管理器中导航到它正在调用的“org.kie.api.runtime.rule.EntryPoint.insert(Object arg0)”位置,但我看到一个页面显示“类文件编辑器”然后是“源未找到”
【问题讨论】:
-
“全新安装” - 没关系。您下载的代码几乎总是需要一些调整。查看 kContainer... 显然它在第 16 行返回 null,因此请调查原因。
-
@Martin 这就是我所看到的。我认为我缺少一些文件?谢谢你的帮助。 i.imgur.com/dTL9EX5.jpg
-
1.我认为您没有丢失文件。您看不到源代码的原因是因为 JAR 不适合阅读。 2. 因为我不知道什么是“流口水”,所以我帮不了你太多。 3. 继续在网上搜索,直到您在这里得到答案。在你的位置,我会从寻找
drools: newKieSession return null或类似的东西开始。 4. 当然打印到屏幕上,确保它是空的,不要太相信我:) -
请发布一个链接,指向您获得该示例项目的位置。