0

我正在使用 drools 版本 6.0.0.Final 做一个示例 hello world maven 项目。下面是我的 pom 文件的构建,我已经指定了 kie-maven-plugin 但我可以注意到这个插件无法执行。有什么我在这里想念的吗?

<build>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.kie</groupId>
                <artifactId>kie-maven-plugin</artifactId>
                <version>${kieVersion}</version>
                <extensions>true</extensions>
            </plugin>
        </plugins>
        </build>
4

4 回答 4

1

您的配置看起来不错,但您可能会遇到一些缺少的插件依赖项。

使用最新版本的 kie-maven-plugin (6.0.3-redhat-4) 它确实将模块内的 drl/xls 等规则预编译到 jar 中。破解打开可以在jar中找到预编译的内容——yourmodule-version.jar/META-INF/defaultKieBase/kbase.cache。

您还应该看到,当 maven 正在构建时,控制台上的 kie-maven-plugins“构建”输出 - 只是为了检查它是否正在执行。

于 2014-07-10T09:36:22.467 回答
1

我知道这是一个老问题,但您是否指定了正确的包装?

<project xmlns="http://maven.apache.org/POM/4.0.0" >
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.foo</groupId>
    <artifactId>fighting</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>kjar</packaging>

与使用 kie-maven 插件一起使用?

于 2014-10-14T13:25:01.970 回答
1

6.3.0 也有同样的问题。这是我用来激活 drools 编译的代码:

<plugin>
    <groupId>org.kie</groupId>
    <artifactId>kie-maven-plugin</artifactId>
    <version>6.3.0.Final-redhat-9</version>
    <extensions>true</extensions>
    <executions>
        <execution>
            <id>brms-rules-compilation</id>
            <phase>generate-resources</phase>
            <goals>
                <goal>build</goal>
            </goals>
            <inherited>false</inherited>
            <configuration>
            </configuration>
        </execution>
    </executions>
</plugin>

我必须专门告诉 Mavenbuild在阶段执行目标generate-resources以获得插件控制台输出:

[INFO] --- kie-maven-plugin:6.3.0.Final-redhat-9:build (brms-rules-compilation) @ myProject ---
[main] INFO org.drools.compiler.kie.builder.impl.KieRepositoryImpl - Adding KieModule from resource [.....]
于 2016-06-15T11:58:33.200 回答
0

这是一个相当古老的话题,但我遇到了同样的问题,并没有找到任何帮助我的东西。就我而言,这不是配置错误,而是规则合成错误。

我有类似的东西:

when $a : A(status == Status.OK, $val = val)

代替 :

when $a : A(status == OK, $val : val)

将“=”更改为“:”修复了它。我不知道为什么它提到了 KIE。

于 2019-09-20T10:00:26.113 回答