2 votes

Déploiement du développement : comment réaliser le "edit-and-reload" avec des pages JSP ?

Notre projet utilise WebLogic comme serveur web et utilise principalement JSP pour l'interface utilisateur. Avec une configuration standard, il est possible de copier les fichiers JSP modifiés dans le répertoire de déploiement éclaté et WebLogic les récupère automatiquement, les recompile et sert le nouveau contenu via HTTP. Cependant, est-il possible d'éviter toute copie, de sorte qu'il me suffise d'enregistrer un fichier dans mon éditeur pour qu'il soit immédiatement visible (après quelques secondes de recompilation) ?

Le projet utilise Apache Ant comme outil de construction. J'imagine que ce que je veux serait possible avec des liens symboliques (puisque c'est uniquement pour le déploiement, je ne me soucie pas de la multiplateforme), mais je ne vois pas comment il est possible de faire des liens symboliques avec beaucoup de fichiers à la fois avec Ant.

Alors, comment puis-je réaliser la fonctionnalité "save-JSP-hit-F5-in-browser" soit

  • avec certains paramètres dans WebLogic ; ou
  • en établissant des liens symboliques entre les JSP à l'aide d'Apache Ant (au lieu de les copier comme cela se fait actuellement) ; ou
  • quelque chose de complètement différent ?

0voto

mdma Points 33973

Vous pouvez placer tous vos fichiers JSP sous un fichier jsp puis faites un lien symbolique entre ce dossier et votre dossier WEB-INF dans le répertoire de déploiement éclaté.

Ant dispose d'une tâche optionnelle pour créer des liens symboliques simples. La tâche peut en quelque sorte créer des répertoires de symlinks, mais fonctionne en enregistrant les symlinks présents et en les recréant plus tard. (Par exemple, vous pourriez utiliser le shell script pour créer initialement vos symlinks dans votre source jsp, utiliser Ant pour enregistrer les liens créés, ce qui est stocké dans un fichier texte avec votre dossier source, puis utiliser ce fichier texte pour recréer plus tard les liens).

http://ant.apache.org/manual/Tasks/symlink.html

0voto

Kelly S. French Points 7634

Une tâche cron pourrait être configurée pour surveiller les répertoires sources de vos fichiers JSP et les copier dans le répertoire cible sur le serveur. Les outils d'intégration continue font ce genre de choses pour que les constructions soient déclenchées par l'enregistrement du code. SourceForge dispose d'un serveur qui le fait. Régulateur de vitesse en est une autre.

0voto

doublep Points 9701

En fin de compte, j'ai dû utiliser la méthode d'Ant. exec outil, car son symlink est très gênante. De plus, delete suit les liens symboliques par défaut Je trouve que c'est une décision de conception horrible (heureusement, je n'ai pas supprimé ce qui n'est pas récupérable par VCS). Si on lui demande de ne pas suivre les liens, alors il ne les supprime pas non plus (il y a un drapeau pour cela dans la 1.8 mais je dois utiliser une version plus ancienne). J'ai donc dû remplacer le fichier de la cible propre delete con exec qui se contente essentiellement d'exécuter rm -r - c'est plus facile que 20+ lignes de charabia Ant.

De même, si quelqu'un veut faire quelque chose de similaire, n'oubliez pas d'utiliser -t option pour ln si vous créez des liens symboliques vers des répertoires. Sinon, une exécution répétée créera un autre lien dans le répertoire vers lequel pointe le lien symbolique.

Dans l'ensemble, il fonctionne maintenant, mais je suis déçu par Ant. Je suppose que tout cela vient du fait que Java ne supporte pas les liens symboliques, mais quand même...

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X