Je cours plusieurs webapps sur Jetty 6 par Apache. Ils sont configurés pour un déploiement à chaud à l'aide de fichiers .xml dans le répertoire contexts /. Ces fichiers .xml définissent simplement des instances WebAppContext et leur indiquent où rechercher un fichier WAR. Le fait de «toucher» leurs contextes/fichiers .xml ramène les modifications aux JSP définies dans le fichier WAR relavnt, ce qui est génial.Can Jetty peut-il détecter les modifications apportées à WEB-INF/lib lors du déploiement à chaud? Comment?
Le problème est que les modifications apportées aux fichiers JAR contenus dans le dossier WEB-INF/lib du fichier WAR ne sont pas détectées. Je suppose que c'est parce que ces fichiers JAR sont mis en cache quelque part. Cette hypothèse est basée sur le fait que le redémarrage de Jetty reprend les changements. La question est donc la suivante: est-il possible de désactiver ce comportement de mise en cache ou d'obtenir d'une autre manière des instances WebAppContext pour détecter les modifications de la bibliothèque? Si c'est le cas, comment?
Je ne vais pas le tester, mais cela semble être une solution plausible. Une autre idée est d'amener les dépendances .jars à travers leurs sources plutôt que comme une unité construite. Quoi qu'il en soit, la peine d'avoir à redémarrer sur les changements de bibliothèque n'est pas énorme, ou ne devrait pas être; Si vous concevez votre webapp correctement, les changements de bibliothèque devraient être testables indépendamment de l'interface webapp et ne nécessitent donc pas de redémarrage du serveur ou de déploiement à chaud de toute façon. –