Projeto de criação de babados 4 Projeto no eclipse
Pergunta
Estou tendo problemas para compilar um projeto Drools 4. Estou recebendo erros no arquivo de regras dizendo
Only a type can be imported. <<MyClassName>> resolves to a package
O compilador incremental não está funcionando por causa disso. Como corrigi os erros ou o Eclipse os ignore?
Solução 3
Hmmm, limpei o projeto e isso resolveu o problema.
Outras dicas
Esta questão foi mencionada para uma migração de babar 3,06 a 4.0.7, então qual versão do eclipse e baba você está usando?
Isso pode estar relacionado a um problema de patrimão de classe:
Usando o depurador, percebi que as babados
PackageBuilder
tentou carregar as classes do
Thread.currentThread().getContextClassLoader();
este
ClassLoader
Não contém minhas aulas de agente! Mesmo o carregador de classe do sistema não contém minhas classes.
A solução foi:
Em vez de criar claro
PackageBuilder
eRuleBase
instâncias, é preciso criá -las com umPackageBuilderConfiguration
e aRuleBaseConfiguration
ambos com a correnteclassLoader
configurado:
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());
Certifique -se de que o MyClassName ou qualquer outra classe (s) que você use da regra esteja em um arquivo JAR e o arquivo JAR esteja no ClassPath.