Pas de support pour Java 7 en Bave (“RuntimeDroolsException: valeur de 1,7' n'est pas valide d'un niveau de langue”)
Alors que je suis un déplacement de mon projet de java7, Bave de départ jeter RuntimeDroolsException exception lors de l'initialisation du processus. Quand je creuse plus loin, j'ai trouvé que ce qui se passe quand il valide java dialecte.
Le problème est: Bave 5.1.1 compare "de java.la version" système de la propriété avec LANGUAGE_LEVELS pour la valider. LANGUAGE_LEVELS est codée en dur dans la liste des versions de java jusqu'à 1.6
In org.drools.rule.builder.dialect.java.JavaDialectConfiguration,
public static final String[] LANGUAGE_LEVELS = new String[]{"1.5", "1.6"};
Je ne voulais pas changer le code source. J'ai donc ajouté-dessous, comme une solution de contournement pour contourner java dialecte de validation.
Properties properties = new Properties();
properties.setProperty( "drools.dialect.java.compiler.lnglevel","1.6" );
PackageBuilderConfiguration cfg =
new PackageBuilderConfiguration( properties );
KnowledgeBuilder knowledgeBuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(cfg);
Est-il une meilleure façon de le faire d'autres que de l'édition du code source?
P. S: Bave 5.1.1 est la dernière version de production de la bave
je viens de tomber sur cette même question (et non, je ne peux pas mettre à niveau bave pour des raisons qui sont hors de mon contrôle) - est ce que cette solution de contournement travail ?
OriginalL'auteur Bala | 2011-10-20
Vous devez vous connecter pour publier un commentaire.
Lorsque vous souhaitez utiliser
Drools 5.1.1
(passage à une version supérieure n'est pas toujours facile, car les règles ne compile pas plus), cela pourrait être une autre, de la non-programmation solution de contournement.Dans
META-INF/drools.packagebuilder.conf
vous pouvez ajouter ces propriétés:OriginalL'auteur CHristian Bonami
C'est corrigé dans la 5.2.1.Version FINALE
https://issues.jboss.org/browse/JBRULES-3163
OriginalL'auteur Bala
J'ai résolu le problème ci-dessus en remplaçant mon référencés drools-complier.jar avec le 5.4.0.Version finale. J'ai essayé les versions antérieures de ce pot, mais le même message d'erreur qui en a résulté. Cette mise à jour du pot peut être téléchargé à partir du bave repo maven
OriginalL'auteur ellisbjohns
La meilleure façon serait de soumettre un patch pour le projet lui-même et en les aidant en charge Java 7 et une mise à niveau vers cette version une fois qu'il est disponible.
ce qui est exactement pourquoi vous devriez travailler avec en amont.
Cette réponse est incroyablement obsolètes maintenant, et était à mon avis pas vraiment une bonne réponse pour commencer.
OriginalL'auteur Manfred Moser