首先,我尝试在父项目中使用 kie-maven-plugin:
<groupId>org.kie</groupId>
<artifactId>kie-maven-plugin</artifactId>
<version>6.1.0.Final</version>
<extensions>true</extensions>
但在进一步阅读之后,它听起来不像是在将规则放入 jar 之前实际上预编译了规则(而且我没有看到它这样做的任何迹象)。
我还看到有一个 drools validator ,但是它似乎只适用于验证 Java 中的 drl 文件。
有没有一种在 Maven 构建中编译/验证 drl 文件的好方法,这样我就不会在部署和运行 web 服务时发现 drl 文件中有错字?
我目前正在使用带有 Drools 插件、Maven 3.x 和 Drools 6.0.1 的 Eclipse Kepler。
最佳答案
我猜你忘了将包装指定为“kjar”。如果是这种情况,插件将不会在 Maven 构建期间执行。只需添加 <packaging>kjar</packaging>
进入你的 pom.xml。
请参阅 kie-maven-plugin 的示例用法:https://github.com/droolsjbpm/drools/blob/master/kie-maven-plugin-example/pom.xml
据我所知,kie-maven-plugin 仅验证资源是否可以编译。运行 Drools 验证程序不是执行的一部分。
如果您已经在使用“kjar”包装,请发布整个 pom.xml,否则很难猜测是什么导致了所描述的行为。
关于java - maven编译时校验drl文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25189560/