我正在使用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