Kie-Maven-Plugin не работает, не может скомпилировать артефакты правил
Я делаю пример проекта hello world maven с использованием drools версии 6.0.0.Final. Ниже приведена сборка моего 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>
3 ответа
Я знаю, что это старый вопрос, но вы указали правильную упаковку?
<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?
Ваш конфиг выглядит нормально, но вы можете столкнуться с отсутствующими зависимостями плагина.
Используя последнюю версию плагина kie-maven-plugin (6.0.3-redhat-4), он предварительно компилирует правила drl/xls и т. Д. Внутри модуля в jar. Вы можете найти предварительно скомпилированный контент в jar, если взломаете его - yourmodule-version.jar/META-INF/defaultKieBase/kbase.cache.
Вы также должны увидеть, как maven собирает, вывод kie-maven-plugins "строит" на консоли - просто чтобы убедиться, что он выполняется.
Получил ту же проблему с 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 [.....]
Это довольно старая тема, но у меня была такая же проблема, и я не нашел ничего, что могло бы мне помочь. В моем случае это была не ошибка конфигурации, а ошибка синтаксиса правила.
У меня было что-то вроде:
when $a : A(status == Status.OK, $val = val)
Вместо того:
when $a : A(status == OK, $val : val)
Изменение " = " на ": " исправило это. Я не знаю, почему это относилось к KIE.