有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Drools函数访问

我有一本书。drl文件,作为我的各种规则文件的函数的通用文件

这个。包含我常用函数的drl文件位于packagecom中。样品通用。(文件:a_common.drl)

我有一个规则文件,它也在packagecom中。样品普通规则执行得很好。(文件:rule1.drl)

我有一个规则文件,它在packagecom中。样品常见的另一个包,由于函数调用不可用,规则失败。(文件:rule2.drl)

如果我正确地阅读了关于这个主题的各种帖子,就没有简单的方法让我的两个规则文件(rule1.drl&;rule2.drl)访问公共规则文件a_common。drl除非我更改规则2的包名。drl到com。样品常见的

我知道,我可以通过在外部调整Java代码来做一些事情。drl文件;然而,在我的情况下,我需要坚持使用中的函数。drl文件

文件:a_公共。drl

package com.sample.common

function boolean getFirstX(String string, int x){
    ...somecode
    return (string != null);
}

function boolean getNextX(String string, int x){
    ...somecode
    return (string != null);
}

文件:规则1。drl(getFirstX功能正常)

package com.sample.common

rule "Hello World"
    
    when
        
        eval( getFirstX("somevalue") )
        
    then
       ....do something

end

文件:规则2。drl(找不到函数getFirstX)

package com.sample.common.anotherpackage

rule "Hello World"
    
    when
        
        eval( getFirstX("somevalue") )
        
    then
       ....do something

end

共 (0) 个答案