Метод getKieClasspathContainer (), возвращающий нулевые значения - PullRequest
0 голосов
/ 10 марта 2020
KieContainer kieContainer = KieServices.Factory.get().getKieClasspathContainer();

Метод в предыдущей строке возвращает контейнер, но объект "kieContainer" имеет нулевые значения. У него нет «containerId», а поля в kProject (который является полем в kieContainer) имеют 0 в качестве значений. В ресурсах есть каталог META-INF, содержащий kmodule. xml. Содержимое kmodule. xml:

<kmodule xmlns="http://www.drools.org/xsd/kmodule">
  <kbase packages="com.ruleEngine.drools.section03.step1">
    <ksession name="StatelessPassportValidationStep1" type="stateless"/>
  </kbase>    
</kmodule>

Как правильно вызывать метод getClasspathContainer()?

Отладчик для рабочего проекта

Отладчик для моего проекта

1 Ответ

1 голос
/ 11 марта 2020

Итак, вот решение. Если вы попытаетесь сгенерировать проект в IDEA с добавлением библиотеки JBoss Drools, он загрузит Drools_6_2_0. xml в .idea / library (это не источник репозитория maven). И снова, если вы попытаетесь получить контейнер classpath в любом месте, версии станут несовпадающими (версия, которую вы объявили в pom. xml и drools 6.2.0), и это приведет к появлению нулевых значений в объекте "kieContainer". Просто удалите файл Drools_6_2_0. xml, и проблема будет решена. Спасибо Родди за идеи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...