Los problemas de construcción del proyecto Drools 4 en Eclipse
Pregunta
Tengo problemas para compilar un proyecto de 4 babea. Estoy recibiendo errores en el archivo de reglas que dice
Only a type can be imported. <<MyClassName>> resolves to a package
El compilador incremental no está funcionando debido a esto. ¿Cómo puedo solucionar los errores o ponerse Eclipse para ignorarlos?
Solución 3
Hmmm, me limpió el proyecto y que se resolvió el problema.
Otros consejos
Este problema fue mencionado para una migración desde drools 3,06 a 4,0. 7 , por lo que la versión de Eclipse y babea está usando?
Esto podría estar relacionado con una ruta de clase tema :
Uso del depurador que se dio cuenta de que los Drools
PackageBuilder
trataron de cargar las clases de la
Thread.currentThread().getContextClassLoader();
Esta
ClassLoader
no contiene mis clases de agentes! Incluso el cargador de clases de sistema no contiene mis clases.
La solución fue:
En lugar de crear instancias
PackageBuilder
yRuleBase
de fricción, uno tiene que crearlos con unPackageBuilderConfiguration
y un tantoRuleBaseConfiguration
con elclassLoader
actual 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());
Asegúrese de que el MyClassName o cualquier otra clase (s) que se utiliza en la norma están en un archivo JAR y el archivo JAR es en la ruta de clase.