Não é possível executar o hello world em drools - os arquivos dlr não são escolhidos no caminho de classe pelo KieContainer

Documentação a seguir:6.1 O básico Criei uma classe simples Requerente que deve ser verificada com o arquivo drl carregado do caminho da classe pelo KieContainer.

Do documento:

"Nesse ponto, é possível criar um KieContainer que leia os arquivos a serem criados, a partir do caminho de classe.

KieServices kieServices = KieServices.Factory.get();

KieContainer kContainer = kieServices.getKieClasspathContainer();

O trecho de código acima compila todos os arquivos DRL encontrados no caminho de classe e coloca o resultado dessa compilação, um KieModule, no KieContainer. Se não houver erros, agora estamos prontos para criar nossa sessão a partir do KieContainer e executar com base em alguns dados: .."

O problema é que o drl (arquivos de regras) não é carregado no projeto pelo KieContainer e não é aplicado ao meu objeto de teste.

Método de teste:

as duas primeiras linhas são da versão mais antiga apenas para verificar se o arquivo está realmente no caminho da classe. E encontra o arquivo de regras. Os arquivos de regras estão localizados em:src / main / recursos / bla / checkLicense.drl - corretamente sob recursos.

        KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); 

        kbuilder.add(ResourceFactory.newClassPathResource("bla/checkLicense.drl"), ResourceType.DRL);

        KieServices kieServices = KieServices.Factory.get();

        KieContainer kContainer = kieServices.getKieClasspathContainer();

        KieSession kSession = kContainer.newKieSession();

        Applicant applicant = new Applicant("Mr John Smith",16);

        System.out.println(applicant.toString());

        assertTrue(applicant.isValid());

        kSession.insert(applicant);

        kSession.fireAllRules();

        System.out.printf(applicant.toString());
        assertFalse(applicant.isValid());

A saída:

[main] INFO org.drools.compiler.kie.builder.impl.ClasspathKieProject - Found kmodule: file:/Users/<MyUserName>/Drools/target/classes/META-INF/kmodule.xml
[main] WARN org.drools.compiler.kie.builder.impl.ClasspathKieProject - Unable to find pom.properties in /Users/<MyUserName>/Drools/target/classes
[main] INFO org.drools.compiler.kie.builder.impl.ClasspathKieProject - Recursed up folders,  found and used pom.xml /Users/<MyUserName>/Drools/pom.xml
[main] INFO org.drools.compiler.kie.builder.impl.KieRepositoryImpl - KieModule was added:FileKieModule[ ReleaseId=drools:drools-test:6.2.0-SNAPSHOTfile=/Users/<MyUserName>/Drools/target/classes]

[main] WARN org.drools.compiler.kie.builder.impl.AbstractKieModule - No files found for KieBase HelloWorldKB, searching folder /Users/<MyUserName>/Drools/target/classes

Applicant{name='Mr John Smith', age=16, valid=true}
Applicant{name='Mr John Smith', age=16, valid=true}

O objeto candidato permaneceu o mesmo, enquanto deveria ter se tornado inválido após a invocação de regras se o arquivo de regras foi realmente fundado e carregado. A mensagem de aviso não aparece para os projetos de teste git fornecidos pela comunidade drools ...

Meu pom usa o mesmo repositório remoto jboss remoto e as dependências do INSTANTÂNEO 6.2.0 ...

o que estou perdendo?

(como estou soltando meu cabelo aqui, + 50 / + 100 adicionais serão concedidos ao salvador, aceitação da resposta pós)

(ignore o HelloWorld na imagem)

questionAnswers(2)

yourAnswerToTheQuestion