如何在Eclipse IDE中调试Drools文件(.drl)

5
我正在使用drools版本:5.5.0.Final
我已经按照以下链接安装了drools插件: 有没有适用于Eclipse的Drools插件? 并且获得了漂亮的彩色DRL文件编辑器和drools透视图。
但是我想安装drools插件的原因是为了能够调试和检查drl文件中的每个规则,但这并不起作用。
基本上下面的步骤不起作用:http://docs.jboss.org/drools/release/5.2.0.Final/drools-expert-docs/html/ch08.html#d0e8236 我在文件中放置了调试点并以调试模式运行应用程序,但它不会停在那里。
请问有谁能帮助我调试drl文件吗?

1
我自己也从未能够使DRL中的断点正常工作。我的常规方法是,如果RHS包含足够复杂需要调试的代码,则将其编写为Java类中的静态方法并进行调用。虽然这不是一个很好的解决方案。 :-/ - Steve
1
如果我正在编写可能需要在Java代码中进行调试的复杂规则,那么我有点混合了Java和Drools的验证。教程/博客说可以进行调试。我仍然在寻求帮助。 - Suvasis
不要害怕混合使用Java和Drools。通常最好避免在Java类中调用方法的是LHS。你的规则的RHS只是一块Java代码。无论该代码是在Java类文件中还是在DRL文件内部,都不是那么相关。然而,由于Java类具有更好的IDE辅助功能,将代码放入Java类中可以获得更可靠、可单元测试的代码。您还将获得工作调试器。因此,如果您的RHS包含超过几行代码,最好将其放入Java类中。 - Steve
2个回答

2
在drl文件中,将方言类型声明为方言“mvel”。调试控制将移动到您在相应的drl文件中指定的断点处。

0
另一个选项是创建一个带有调试方法的实用类:
public class DebugUtils {
    public static boolean debugValue(Object value) {
        return true;
    }
}

然后从任何规则中调用此方法,传递您的值并在此方法中设置断点。这样您就可以调试您的规则。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接