2016-09-02 10 views
0

Мы переносим версию drools от 5.x до 6.4, и мы использовали все классы и методы, которые мы использовали ранее, за исключением проблемы с компиляцией, такой как перемещение в новый пакет и т. Д.не удалось разрешить метод с использованием строгого режима в Drools 6.4

Я столкнулся с проблемой ниже, когда мы создаем файл DT (xls) в maven.

Примечание. Пользовательский класс соответствует стандартам Java Bean.

Также я попытался отключить Maven диалект, как показано ниже

KnowledgeBuilderConfiguration kConf = KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration(null, 
        classLoader); 
kConf.setProperty("drools.dialect.mvel.strict", "false"); 
      KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(kConf); 

Но та же ошибка была occurred.Please мне помочь исправить, и я не уверен, что это связано с диалекте или что-то нужно изменить DT файл.

Большое спасибо.

ответ

0

Проверьте шаблоны атрибутов атрибутов класса com.svc.User. Он должен следовать соглашению

public {OBJECT_TYPE} getTemplate(){ return template; }

Ошибки этого типа, как правило, означает, что он не может найти метод с этим именем (шаблон() в данном случае), которые, как правило, означает, что есть некоторая проблема с геттер из атрибут объявления.

+0

Но он работал над более ранней версией, drools 5.3 – Suresh

+0

Вы сказали, что создали файл .xls. Я предполагаю, что вы импортировали класс, и я также думаю, что вы проверили геттеры. Поскольку вы упомянули версии, база знаний Drools устарела. Возможно, есть какой-то конфликт: [link] (http://stackoverflow.com/questions/23784652/drools-knowledgebase-deprecated) –

+0

Да ... Я импортировал этот класс в xls и проверяю, что свойство шаблона! = Null , Я проверил слюни-ядро 6.4.Final, но класс не был там, и thery реструктурировали все ... но если вы проверите это в знаниях drools-6.4. Final api, там будет класс KnowledgeBase. maven в pom. Я знал, что они представили новую ави под названием Kie. – Suresh