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

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

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