java - maven编译时校验drl文件

标签 java eclipse maven drools

首先,我尝试在父项目中使用 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/

相关文章:

Java 1.7 String 类 matches 方法在应该为 true 时返回 false

java - 没有为命名空间 [/] 映射操作且操作名称错误

java - Android - 如何在 View 组内设置 subview

java - 由 : java. lang.ClassNotFoundException : org. slf4j.LoggerFactory 引起

java - maven war 应用程序设置 contextroot

java - 无法启动 Log4j

java - 通过抽象来强制执行 hashCode 和 equals 是否有任何优势?

Java 日期本地化

c - 在静态库中定义枚举

eclipse - Tomcat 6 Eclipse 配置——服务器位置被锁定以进行编辑