2009-09-09 6 views
2

졸다 4 프로젝트를 컴파일하는 데 문제가 있습니다. 규칙 파일에 오류가 발생했습니다.빌드 문제 Eclipse에서 Drools 4 프로젝트

Only a type can be imported. <<MyClassName>> resolves to a package 

증분 컴파일러가 작동하지 않습니다. 오류를 수정하거나 무시하기 위해 어떻게해야합니까?

답변

-1

흠, 프로젝트를 청소했는데 문제가 해결되었습니다.

+2

자신의 실수로 자신의 대답을 받아들이는 것은 약간의 저크 움직임입니다. / – cflewis

2

이 문제는 drools 3.06 to 4.0.7에서 마이그레이션에 대해 언급되었으므로 사용중인 Eclipse와 Dols의 버전은 무엇입니까?

classpath issue과 관련이있을 수 있습니다

은 Drools가 PackageBuilder이 포함되지 않은

Thread.currentThread().getContextClassLoader(); 

ClassLoader에서 클래스를로드하려고 것을 나는 깨달았다 디버거를 사용하여 내 에이전트 수업! 시스템 클래스 로더에도 클래스가 포함되어 있지 않습니다.

솔루션했다 :

대신 일반 PackageBuilderRuleBase 인스턴스를 생성, 하나는 PackageBuilderConfiguration 및 구성 현재 classLoaderRuleBaseConfiguration 모두를 만들 수 있습니다

ClassLoader classLoader = this.getClass().getClassLoader(); 

PackageBuilderConfiguration configuration = new PackageBuilderConfiguration(); 
configuration.setClassLoader(classLoader); 

PackageBuilder builder = new PackageBuilder(configuration); 

builder.addPackageFromDrl(source); 

RuleBaseConfiguration ruleBaseConfiguration = new RuleBaseConfiguration(); 
ruleBaseConfiguration.setClassLoader(classLoader); 

ruleBase = RuleBaseFactory.newRuleBase(ruleBaseConfiguration); 
ruleBase.addPackage(builder.getPackage()); 
+0

@이 오타를 수정 해 주셔서 감사합니다. – VonC

+0

안녕하세요, 응답 해 주셔서 감사합니다. 저의 동료 인 collegue는 우리에게 마이그레이션하지 않았으며 항상 Drools 버전 4를 사용하고 있다는 사실을 알려 드렸습니다. 죄송합니다. 타이핑을 저장하지 않아야합니다. – Tarski

1

규칙에서 사용하는 MyClassName 또는 다른 클래스가 jar 파일에 있고 jar 파일이 classpath에 있는지 확인하십시오.

관련 문제