Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Drools Android集成_Android_Drools_Kie - Fatal编程技术网

Drools Android集成

Drools Android集成,android,drools,kie,Android,Drools,Kie,我正在android上进行drools的实现,遇到了一个问题 java.lang.RuntimeException:无法启动活动组件信息{com.decurtis.drooldemo/com.decurtis.drooldemo.MainActivity}:java.lang.RuntimeException:无法使用构造函数public org.drools.android.DexPackageClassLoader实例化类“org.drools.android.DexPackageClass

我正在android上进行drools的实现,遇到了一个问题

java.lang.RuntimeException:无法启动活动组件信息{com.decurtis.drooldemo/com.decurtis.drooldemo.MainActivity}:java.lang.RuntimeException:无法使用构造函数public org.drools.android.DexPackageClassLoader实例化类“org.drools.android.DexPackageClassLoader”的对象(org.drools.core.rule.java方言运行时数据,java.lang.ClassLoader) 在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2646)上 位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707) 位于android.app.ActivityThread.-wrap12(ActivityThread.java) 在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)上 位于android.os.Handler.dispatchMessage(Handler.java:102) 位于android.os.Looper.loop(Looper.java:154) 位于android.app.ActivityThread.main(ActivityThread.java:6077) 位于java.lang.reflect.Method.invoke(本机方法) 在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)上 位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756) 原因:java.lang.RuntimeException:无法使用构造函数public org.drools.android.DexPackageClassLoader(org.drools.core.rule.java方言RuntimeData,java.lang.ClassLoader)实例化类“org.drools.android.DexPackageClassLoader”的对象 位于org.drools.core.util.ClassUtils.InstanceObject(ClassUtils.java:272) 位于org.drools.core.rule.javaDiagnolRuntimeData.makeClassLoader(javaDiagnolRuntimeData.java:618) 位于org.drools.core.rule.javadialtruntimedata.onAdd(javadialtruntimedata.java:243) 位于org.drools.compiler.rule.builder.dialen.java.javadialen.(javadialen.java:187) 位于org.drools.compiler.rule.builder.dialen.java.javadialenconfiguration.newdialen(javadialenconfiguration.java:91) 位于org.drools.compiler.builder.impl.KnowledgeBuilderConfiguration mpl.BuildDialogRegistry(KnowledgeBuilderConfiguration mpl.java:392) 位于org.drools.compiler.compiler.PackageRegistry(PackageRegistry.java:55) 位于org.drools.compiler.builder.impl.KnowledgeBuilderImpl.newPackage(KnowledgeBuilderImpl.java:1571) 位于org.drools.compiler.builder.impl.KnowledgeBuilderImpl.initPackageRegistry(KnowledgeBuilderImpl.java:1044) 位于org.drools.compiler.builder.impl.KnowledgeBuilderImpl.createPackageRegistry(KnowledgeBuilderImpl.java:1015) 位于org.drools.compiler.builder.impl.CompositeKnowledgeBuilderImpl.initPackageRegistries(CompositeKnowledgeBuilderImpl.java:297) 位于org.drools.compiler.builder.impl.CompositeKnowledgeBuilderImpl.buildPackages(CompositeKnowledgeBuilderImpl.java:116) 位于org.drools.compiler.builder.impl.CompositeKnowledgeBuilderImpl.build(CompositeKnowledgeBuilderImpl.java:105) 位于org.drools.compiler.kie.builder.impl.AbstractKieModule.buildKnowledgePackages(AbstractKieModule.java:244) 位于org.drools.compiler.kie.builder.impl.AbstractKieProject.verify(AbstractKieProject.java:64) 位于org.drools.compiler.kie.builder.impl.KieBuilderImpl.buildKieProject(KieBuilderImpl.java:230) 位于org.drools.compiler.kie.builder.impl.KieBuilderImpl.buildAll(KieBuilderImpl.java:198) 位于com.decurtis.drooldemo.MainActivity.kieExecute63(MainActivity.java:81) 位于com.decurtis.drooldemo.MainActivity.onCreate(MainActivity.java:41) 位于android.app.Activity.performCreate(Activity.java:6662) 位于android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118) 在android.app.ActivityThread.performLa
KieServices   ks  = KieServices.Factory.get();
    KieRepository kr  = ks.getRepository();
    KieFileSystem kfs = ks.newKieFileSystem();
    kfs.write(ResourceFactory.newClassPathResource("rules/Fire.drl", Fire.class));
    KieBuilder kb = ks.newKieBuilder(kfs);
    kb.buildAll(); // kieModule is automatically deployed to KieRepository if successfully built.
    if (kb.getResults().hasMessages(Message.Level.ERROR)) {
        throw new RuntimeException("Build Errors:\n" + kb.getResults().toString());
    }

    KieContainer kContainer = ks.newKieContainer(kr.getDefaultReleaseId());

    KieSession kSession = kContainer.newKieSession();

    System.out.println("Fire All Rules...");
    kSession.fireAllRules();
    kSession.dispose();