Kie-Maven-Plugin不工作,无法编译规则工件



我正在使用drools版本6.0.0.Final做一个示例hello world maven项目。下面是我的pom文件的构建,我已经指定了kee -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>

你的配置看起来不错,但是你可能会碰到一些缺失的插件依赖项。

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

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

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

<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>

与kiemaven插件一起使用?

在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>

我必须特别告诉Maven在generate-resources阶段执行build目标以获得插件控制台输出:

[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 [.....]

这是一个相当古老的话题,但我刚刚有同样的问题,并发现没有什么可以帮助我。在我的例子中,这不是一个配置错误,而是一个规则语法错误。

我写的是:

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

代替:

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

将" = "改为":"解决了这个问题。我不知道为什么它指的是KIE

相关内容

  • 没有找到相关文章

最新更新