从jar访问/resources/META-INF/kmodule.xml文件时遇到问题。在访问KieContainer时空了。因此无法制作KieSession
KieServices ks = KieServices.Factory.get();
KieContainer kContainer = ks.getKieClasspathContainer();
KieSession testKS= kContainer.newKieSession("testKS");
我从kie库获得的错误看起来像这样。
cron4j::scheduler[45074ba122a86df425e4988100000160255af0af5f9889c0]::executor[45074ba122a86df44340e4fe00000160255b2b4764a15b9b]] - Unable to build index of kmodule.xml url=jar:file:D:\ProjectKLocation\test.jar!/META-INF/kmodule.xml
java.net.URISyntaxException:索引11处的opaque部分中的非法字符:jar:file:D:\ ProjectLocation \ test.jar!/META-INF/kmodule.xml 2017年12月5日06:27:00721 [org.drools.compiler.kie.builder.impl.KieContainerImpl.newKieSession]错误[线程ID - cron4j ::计划[45074ba122a86df425e4988100000160255af0af5f9889c0] ::执行人[45074ba122a86df44340e4fe00000160255b2b4764a15b9b] - 未知KieSession名称: testKS
正如我们可以看到url中的斜杠不同,所以我正在寻找一种方法,我们可以反转url中斜杠的方向,这可能允许程序将kmodule.xml定位在jar.Is有一种方法可以做到这一点或任何其他方式从jar访问kmodule.xml。