【问题标题】:Drools building KieBase programmatically not working in Windows以编程方式构建 KieBase 的 Drools 在 Windows 中不起作用
【发布时间】:2017-08-22 05:20:50
【问题描述】:

我们有一组相当大的模板化规则,KieBase 是以编程方式创建的。有状态和无状态会话都是这种情况。

这些规则在作为单元测试执行时适用于 Mac 操作系统,但不适用于 Windows。

重现此问题的项目在这里:Test project(在 src/test/java 下查找用于创建 KieSession 的实用程序)

如果有人解释我所缺少的内容,将会对您有所帮助。

【问题讨论】:

  • “它不起作用”是什么意思?你得到一些编译错误吗?一个空的Kbase?例外?
  • 没有编译错误,因为无状态会话规则没有被执行。对于有状态会话,未解析全局变量。

标签: drools drools-kie-server


【解决方案1】:

你有这个:

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 = '/';

【讨论】:

    猜你喜欢
    • 2017-01-20
    • 1970-01-01
    • 1970-01-01
    • 2015-02-18
    • 1970-01-01
    • 1970-01-01
    • 2017-12-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多