我正在使用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>
答案 0 :(得分: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“build”输出 - 只是为了检查它是否正在执行。
答案 1 :(得分: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插件一起?
答案 2 :(得分: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>
我必须明确告诉Maven在build
阶段执行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 [.....]
答案 3 :(得分:0)
这是一个很老的话题,但是我遇到了同样的问题,却找不到任何帮助。就我而言,这不是配置错误,而是规则合奏错误。
我有类似的东西:
when $a : A(status == OK, $val : val)
而不是:
{{1}}
将“ =”更改为“:”可修复该问题。我不知道为什么它指的是KIE。