2016-09-02 5 views
0

5.x에서 drools 버전을 6.x로 마이그레이션하고 있으며 이전에 사용했던 모든 클래스와 메소드를 사용했습니다 (예 : 새 패키지로 이동 한 경우 등).은 Drools에서 strict-mode를 사용하여 메소드를 해결할 수 없습니다. 6.4

maven에서 DT 파일 (xls)을 빌드 할 때 다음과 같은 문제가 발생했습니다.

[ERROR] ## Errors [Unable to Analyse Expression template != null: 
[Error: unable to resolve method using strict-mode: com.svc.User.template()] 
[Near : {... template != null ....}] 

주 - 사용자 클래스는 Java Bean 표준을 따릅니다. 이는 방언 또는 무언가에 관련하는 DT를 변경해야

또한 저도 같은 오류가 해결하는 데 도움이 occurred.Please

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

그러나이었다 아래로 받는다는 사투리를 사용하지 않도록 노력하고 나는 확실하지 않다 파일.

감사합니다.

답변

0

com.svc.User 클래스의 특성 템플릿에 대한 getter를 확인하십시오. 보통은 일반적으로이 뜻이 이름 (이 경우 템플릿())와 방법을 찾을 수 있다는 것을 의미의 게터 몇 가지 문제가 협약이 유형의

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

오류를 따라야합니다 attibute.

+0

하지만 이전 버전 인 drools 5.3 – Suresh

+0

을 사용하고 있었는데 .xls 파일을 작성했다고하셨습니다. 나는 당신이 클래스를 가져 왔고 당신도 getters를 체크했는지 추측합니다. 버전을 언급 했으므로 Drools 지식 기반은 더 이상 사용되지 않습니다. 어쩌면 충돌이있을 수 있습니다 : [링크] (http://stackoverflow.com/questions/23784652/drools-knowledgebase-deprecated) –

+0

예 ... xls에서 해당 클래스를 가져 와서 템플릿 속성을 확인하십시오! = null . 나는 drools-core jar를 확인했습니다. 6.4. 영원히, 클래스는 거기에 없었고 모든 것은 재구성되었습니다 ...하지만 당신이 졸음 속에서 그것을 확인한다면 - 지식 6.4. 최종 API, KnowledgeBase 클래스가 있습니다. pom의 종속성. 나는 그들이 Kie라는 새로운 API를 도입했다는 것을 알았다. – Suresh

관련 문제