drools-7.23.0.Final KieContainerImpl KieBaseException

drools-7.23.0.Final KieContainerImpl KieBaseException,drools,Drools,在运行我的应用程序时,我收到一个错误:找不到默认的异常!从KieContainerImpl打来的 我在drools-7.23.0.Final的源代码中找不到KieContainerImpl 我已经搜索了源代码org.kie.api.KieBase和drools.compiler.builder.imp,但找不到KieContainerImpl try { kContainer = ks.newKieContainer(); System.out.print

在运行我的应用程序时,我收到一个错误:找不到默认的异常!从KieContainerImpl打来的

我在drools-7.23.0.Final的源代码中找不到KieContainerImpl

我已经搜索了源代码org.kie.api.KieBase和drools.compiler.builder.imp,但找不到KieContainerImpl

try
    {
        kContainer = ks.newKieContainer();
        System.out.println("\ninitialized KieContainer:\t" + kContainer);

        // Verify that kContainer was properly loaded
        Results results = kContainer.verify();

        ...

        /*
         * A KieBase represents a compiled version of a set of assets.
         */
        kBase = kContainer.getKieBase();
        System.out.println("\ninitialized kBase:\n" + kBase);
    }
    catch (NoClassDefFoundError e)
    {
       e.printStackTrace();
    }
    catch (Exception ex)
    {
        System.out.println("Exception!");
        ex.printStackTrace();
    }
我希望verify函数能够工作。结果如下:

    initialized KieContainer:   org.drools.compiler.kie.builder.impl.KieContainerImpl@767e20cf
Exception!
java.lang.RuntimeException: Cannot find a default KieBaseException at org.drools.compiler.kie.builder.impl.KieContainerImpl.getKieBase(KieContainerImpl.java:553)
    at chemistryAdvisor.ChemistryAdvisor.initializeRuleEngine(ChemistryAdvisor.java:477)
    at chemistryAdvisor.ChemistryAdvisor.main(ChemistryAdvisor.java:227)
java.lang.RuntimeException: Cannot find a default KieSession
    at org.drools.compiler.kie.builder.impl.KieContainerImpl.findKieSessionModel(KieContainerImpl.java:684)
    at org.drools.compiler.kie.builder.impl.KieContainerImpl.newKieSession(KieContainerImpl.java:677)
    at org.drools.compiler.kie.builder.impl.KieContainerImpl.newKieSession(KieContainerImpl.java:660)
    at chemistryAdvisor.ChemistryAdvisor.initializeRuleEngine(ChemistryAdvisor.java:496)
    at chemistryAdvisor.ChemistryAdvisor.main(ChemistryAdvisor.java:227)
Welcome to ChemistryAdvisor!

调用
kContainer.getKieBase()时
不指定任何参数,Drools希望在
kmodule.xml
中找到标记为默认值的
KieBase

看看我的答案

希望有帮助