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

Bave 5.2.0. Finale est la dernière version du produit ou de la bave. (jboss.org/drools/downloads)
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