![](/img/trans.png)
[英]How to fix "NoClassDefFoundError KieServices.Factory"
[英]Drools - KieServices.Factory.get() returns null
我嘗試將Drools項目集成到Maven應用程序中。 Drools應用程序完全可以獨立運行,但是當我嘗試將其集成到Maven項目中時,我得到了java.lang.NullPointerException。 經過一些研究,似乎是因為KieServices.Factory.get()向我返回了一些東西,但他的所有參數都為空。
這是我的代碼:
public static final void main(String[] args) {
myBool test = new myBool(false) ;
try {
// load up the knowledge base
KieServices ks = KieServices.Factory.get();
KieContainer kContainer = ks.getKieClasspathContainer();
KieSession kSession = kContainer.newKieSession("ksession-rules");
// go !
Person toto = new Person("toto",21);
Person titi = new Person("titi",12);
Person tata = new Person("tata",15);
kSession.insert(toto);
我已經進行了很多研究,並嘗試了很多方法來解決它(我已經添加了drools-compiler的依賴項)。 有人有解決的想法嗎? 謝謝 !
public ReturnType yourMethodName(final YourClassName YourClassObj) {
KieSession kieSession = this.kieContainer.newKieSession("your Session");
kieSession.insert(YourClassObj);
kieSession.fireAllRules();
kieSession.dispose();
return your returnObject/Parameter;
}
在配置中
@Bean
public KieContainer kieContainer() {
return KieServices.Factory.get().getKieClasspathContainer();
}
服務等級:
private final KieContainer kieContainer;
@Autowired
public RulesEngineService(final KieContainer kieContainer) {
RulesEngineService.log.info("Initialising a new session.");
this.kieContainer = kieContainer;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.