我正在尝试使用Drools 6x,在eclipse中,我创建了一个Drools项目,它创建了一个样板代码来运行一个简单的drl。
我通过Eclipse安装了drools运行时。
我已将drools库,drools-core-5.0.1.jar,kie-api-6.0.0.beta4.jar,kie-internal-6.0.0.beta2.jar作为我项目中的外部jar。
然而,当我尝试运行以下内容时,出现以下错误:
java.lang.ExceptionInInitializerError
at com.sample.PetStoreExample.init(PetStoreExample.java:78)
at com.sample.PetStoreExample.main(PetStoreExample.java:67) Caused by: java.lang.RuntimeException: Unable to instance KieServices
at org.kie.api.KieServices$Factory.<clinit>(KieServices.java:137)
... 1 more Caused by: java.lang.ClassNotFoundException:org.drools.compiler.kie.builder.impl.KieServicesImpl at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.kie.api.KieServices$Factory.<clinit>(KieServices.java:165)
... 1 more
答案 0 :(得分:0)
如果您从http://www.drools.org/下载了Jars的zip,那么您将希望在项目中包含/ binaries中的每个jar。甚至那些看起来像你不会使用的那些。
我也有同样的问题因为我认为我只需要使用几个Jars,但事实证明它们都依赖于该zip文件夹中其他jar的类。
答案 1 :(得分:0)
我遇到了这个问题,因为我的pom文件中同时有kie-api
和kie-ci
作为依赖项。我删除了kie-ci
依赖项,并且不再遇到此问题。