Drools Kie Maven插件不工作,无法编译规则工件
我正在使用drools版本6.0.0.Final执行一个hello world maven示例项目。 下面是我的pom文件的构建,我已经指定了kie maven插件,但是我可以注意到这个插件无法执行。这里有我遗漏的东西吗Drools Kie Maven插件不工作,无法编译规则工件,drools,redhat,kie,jboss-rules,Drools,Redhat,Kie,Jboss Rules,我正在使用drools版本6.0.0.Final执行一个hello world maven示例项目。 下面是我的pom文件的构建,我已经指定了kie maven插件,但是我可以注意到这个插件无法执行。这里有我遗漏的东西吗 <build> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId>
<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>
maven编译器插件
3.1
1.7
1.7
org.kie
kie maven插件
${kieVersion}
真的
您的配置看起来不错,但可能会遇到一些缺少的插件依赖项
使用最新版本的kie maven插件(6.0.3-redhat-4),它会预编译drl/xls等。。将模块内的规则放入jar中。如果打开jar,您可以在jar中找到预编译的内容—yourmodule-version.jar/META-INF/defaultKieBase/kbase.cache
当maven正在构建时,您还应该看到kie maven插件在控制台上的“构建”输出—只是为了检查它是否正在执行。您的配置看起来不错,但您可能会遇到一些缺少的插件依赖项 使用最新版本的kie maven插件(6.0.3-redhat-4),它会预编译drl/xls等。。将模块内的规则放入jar中。如果打开jar,您可以在jar中找到预编译的内容—yourmodule-version.jar/META-INF/defaultKieBase/kbase.cache
当maven正在构建时,您还应该看到kie maven插件在控制台上的“构建”输出—只是为了检查它是否正在执行。您的配置看起来不错,但您可能会遇到一些缺少的插件依赖项 使用最新版本的kie maven插件(6.0.3-redhat-4),它会预编译drl/xls等。。将模块内的规则放入jar中。如果打开jar,您可以在jar中找到预编译的内容—yourmodule-version.jar/META-INF/defaultKieBase/kbase.cache
当maven正在构建时,您还应该看到kie maven插件在控制台上的“构建”输出—只是为了检查它是否正在执行。您的配置看起来不错,但您可能会遇到一些缺少的插件依赖项 使用最新版本的kie maven插件(6.0.3-redhat-4),它会预编译drl/xls等。。将模块内的规则放入jar中。如果打开jar,您可以在jar中找到预编译的内容—yourmodule-version.jar/META-INF/defaultKieBase/kbase.cache
您还应该看到,在maven构建时,kie maven插件在控制台上“构建”输出—只是为了检查它是否正在执行。我知道这是一个老问题,但您是否指定了正确的打包
<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>
4.0.0
com.foo
战斗
1.0-快照
克杰尔
与使用kie maven插件一起使用?我知道这是一个老问题,但您是否指定了正确的包装
<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>
4.0.0
com.foo
战斗
1.0-快照
克杰尔
与使用kie maven插件一起使用?我知道这是一个老问题,但您是否指定了正确的包装
<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>
4.0.0
com.foo
战斗
1.0-快照
克杰尔
与使用kie maven插件一起使用?我知道这是一个老问题,但您是否指定了正确的包装
<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>
4.0.0
com.foo
战斗
1.0-快照
克杰尔
与使用kie maven插件一起,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>
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>
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>
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>
这是一个相当古老的话题,但我只是有同样的问题,并没有找到任何帮助我。在我的例子中,这不是一个配置错误,而是一个rule synthax错误 我有点像:
when $a : A(status == Status.OK, $val = val)
而不是:
when $a : A(status == OK, $val : val)
将“=”更改为“:”修复了它。我不知道为什么它会提到KIE。这是一个很老的话题,但我也遇到了同样的问题,没有找到任何帮助。在我的例子中,这不是一个配置错误,而是一个rule synthax错误 我有点像:
when $a : A(status == Status.OK, $val = val)
而不是:
when $a : A(status == OK, $val : val)
将“=”更改为“:”修复了它。我不知道为什么它会提到KIE。这是一个很老的话题,但我也遇到了同样的问题,没有找到任何帮助。在我的例子中,这不是一个配置错误,而是一个rule synthax错误 我有点像:
when $a : A(status == Status.OK, $val = val)
而不是:
when $a : A(status == OK, $val : val)
将“=”更改为“:”修复了它。我不知道为什么它会提到KIE。这是一个很老的话题,但我也遇到了同样的问题,没有找到任何帮助。在我的例子中,这不是一个配置错误,而是一个rule synthax错误 我有点像:
when $a : A(status == Status.OK, $val = val)
而不是:
when $a : A(status == OK, $val : val)
将“=”更改为“:”修复了它。我不知道为什么它会提到KIE。当你说某些东西不起作用时,通常最好提供错误消息之类的信息。我们不是读心术的人。根据您的示例,您离pom.xml工作还有很长的路要走。我不确定是否有合适的教程,但你可以看看这里的一些例子:没有错误。唯一的事情是在我的maven控制台中,我可以看到kie maven插件并没有被执行。在内置jar中,没有规则工件的编译代码。规则工件只有在我部署jar文件时才得到遵守。这就是为什么我问以前是否有人使用过这个插件。假设您指的是DRL和其他类似的代码,那么这些代码直到运行时加载到知识库中时才会被编译。您不会在任何JAR中看到任何已编译的工件,但在部署到容器和这个kie maven plu之前,可以预编译drools规则