Question

Je veux construire un « toJavaCode () » sur mon modèle qui produit le code source Java nécessaire pour générer ce modèle (sans parler des raisons ou si elle doit ou ne doit pas être fait, ni les problèmes de compatibilité qui peuvent produire).

Je suis à une perte sur la façon de tester. J'utilise maven, mais generate-sources ne fonctionnent vraiment pour moi depuis que mon serveur doit être en place pour une bonne, les tests en vrac. Je reçois le serveur pendant l'objectif « test », mais generate-sources est juste trop tôt.

D'autre part, alors que je peux utiliser le compilateur construit en (de tools.jar dans le JDK) de le faire, je ne sais pas comment je peux l'emballer dans le pot pour tester (ou charger ce pot) .

Toutes les idées?

Était-ce utile?

La solution

Vous pouvez utiliser le JavaCompiler API pour compiler vos fichiers source et configurer un classloader pour charger les classes compilées dans votre test ( exemple de code ). tools.jar doit être sur le chemin de classe. Tel est le cas si le JDK est utilisé.

Si votre code généré est stable pour une classe donnée, vous pouvez utiliser processeur d'annotation pour générer le code source et compiler dans le même javac fonctionner en tant que classe annotée.

Autres conseils

Vous pouvez ajouter des tâches de fourmis à votre Maven. C'est un moyen de quelque chose « hors-classique-ordre » au cours d'une build Maven. Comme l'ajout d'une tâche de fourmi javac pour objectif de test de mavens ou ainsi.

(désolé, je suis aussi confus que votre commentor mate b - mais les tâches de fourmis sont embarquées votre couteau suisse ici.)

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