控制台输出:
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 还很陌生,所以请向我提出问题,我将发布您需要查看的片段。
我可以在包资源管理器中导航到它正在调用的“org.kie.api.runtime.rule.EntryPoint.insert(Object arg0)”位置,但我看到一个页面,上面写着“类文件编辑器”,然后是“源”未找到”
最佳答案
似乎需要提供三个值。您可以使用向导显示的“Drools Runtime”面板上的三个文本框,也可以手动更新项目中的 pom.properties 文件。对我有用的三个值(value)观是:
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 项目向导生成的。文件...新建...项目...Drools 项目...然后选中“New Drools Project”顶部的两个复选框]
关于java - Drools HelloWorld 示例全新安装抛出空指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20480399/