졸다 4 프로젝트를 컴파일하는 데 문제가 있습니다. 규칙 파일에 오류가 발생했습니다.빌드 문제 Eclipse에서 Drools 4 프로젝트
Only a type can be imported. <<MyClassName>> resolves to a package
증분 컴파일러가 작동하지 않습니다. 오류를 수정하거나 무시하기 위해 어떻게해야합니까?
졸다 4 프로젝트를 컴파일하는 데 문제가 있습니다. 규칙 파일에 오류가 발생했습니다.빌드 문제 Eclipse에서 Drools 4 프로젝트
Only a type can be imported. <<MyClassName>> resolves to a package
증분 컴파일러가 작동하지 않습니다. 오류를 수정하거나 무시하기 위해 어떻게해야합니까?
흠, 프로젝트를 청소했는데 문제가 해결되었습니다.
이 문제는 drools 3.06 to 4.0.7에서 마이그레이션에 대해 언급되었으므로 사용중인 Eclipse와 Dols의 버전은 무엇입니까?
이
는 classpath issue과 관련이있을 수 있습니다은 Drools가
PackageBuilder
이 포함되지 않은
Thread.currentThread().getContextClassLoader();
이
ClassLoader
에서 클래스를로드하려고 것을 나는 깨달았다 디버거를 사용하여 내 에이전트 수업! 시스템 클래스 로더에도 클래스가 포함되어 있지 않습니다.
솔루션했다 :
대신 일반
PackageBuilder
및RuleBase
인스턴스를 생성, 하나는PackageBuilderConfiguration
및 구성 현재classLoader
와RuleBaseConfiguration
모두를 만들 수 있습니다
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());
규칙에서 사용하는 MyClassName 또는 다른 클래스가 jar 파일에 있고 jar 파일이 classpath에 있는지 확인하십시오.
자신의 실수로 자신의 대답을 받아들이는 것은 약간의 저크 움직임입니다. / – cflewis