我们有一组相当大的规则,这些规则是模板化的,并且KieBase是以编程方式创建的。有状态会话和无状态会话就是这种情况。
作为单元测试执行时,这些规则适用于Mac OS,但不适用于Windows。
重现此问题的项目如下:Test project(在src / test / java下查看创建KieSession的实用程序)
如果你有人解释我所缺少的东西会有所帮助。
答案 0 :(得分:0)
你有这个:
private static final String OUTPUT_DRL_PREFIX = "src" + File.separator + "main" + File.separator + "resources" ...;
KieFileSystem kfs = kieServices.newKieFileSystem();
String outFile = OUTPUT_DRL_PREFIX + "result" + DRL;
kfs.write(outFile, rules );
KieFileSystem不是Windows文件系统。当应用程序在某些操作系统或其他操作系统上运行时,它不会改变它对名称分隔符的想法。
只需使用
static final String KIE_SEP = '/';