Question

Je suis sur le point de commencer à développer une petite application Java de bureau. L'application est juste un moteur pour lequel l'utilisateur fournit des classes Java pour faire le travail (traduction entrée à la sortie).

Je voudrais l'utilisateur de fournir des classes Java réelles sous forme de fichiers qui peuvent être chargés (et rechargés) à la volée.

Pour cette utilisation particulière, est-il une raison pour laquelle Java serait plus lourd que Groovy ou Beanshell? Je ne demande pas une comparaison des Groovy / Beanshell et Java comme il y a beaucoup. Au contraire, je veux savoir s'il est plus facile de charger dynamiquement les classes Groovy ou Beanshell à partir de fichiers par rapport à Java.

Pour Java 1.6, est JavaCompiler la meilleure façon de charger dynamiquement le code? Je pense que je souhaite utiliser toutes les fonctionnalités du langage si Janino est sorti. En outre, aucun problème avec rechargeant?

Note: Je l'ai vu ce et ce , mais je ne suis pas sûr qu'ils répondent à ma question.

Était-ce utile?

La solution

JavaCompiler est très polyvalent, mais il entraîne un problème de configuration mineure, potentiel: Dans javax.tools , ToolProvider.getSystemJavaCompiler () identifie la classe du compilateur com.sun.tools.javac.api.JavacTool. Sur certaines plateformes, cette classe ne fait pas partie de la JRE; un JDK semble nécessaire. Voici un .

Voir également javax.script , discuté . Plusieurs sont pris en charge.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top