Explosé Guerre de déploiement avec IntelliJ Idea, Maven, Tomcat et JRebel
Je suis le développement d'une application basée sur le web avec IntelliJ Idea 12, Maven, JRebel et Tomcat. Afin de profiter de JRebel, automatiquement le rechargement des changements de beans Spring, j'ai utilisé le schéma de la guerre de déploiement prévue par Intellij ci-dessous
En raison d'un module Maven, IntelliJ exactement suivie Maven de la convention pour compiler les fichiers Java dans le dossier de sortie (target/classes) qui est DIFFÉRENT des explosé webapp directoy (cible/spring-mvc-vitrine/webapp/web-inf/classes). En conséquence, Tomcat et JRebel ne peut pas recharger les changements de ces nouvelles classes.
Pour le moment, j'ai temporairement configuré l'Ide de sortie du dossier pointé le dossier WEB-INF/classes de sorte que des changements pourraient être rechargé. Comme je ne veux pas briser les conventions de Maven, quelqu'un pourrait-il me dire une solution plus élégante?
target (Maven generated artifact directory)
|
-- classes (compiled)
|
-- spring-mvc-showcase (exploded webapp directory)
|
-- WEB-INF
|
-- classes
OriginalL'auteur Hung Tran | 2013-01-23
Vous devez vous connecter pour publier un commentaire.
Après que vous avez configuré correctement, lorsque vous êtes lancement de Tomcat, vous devriez voir quelque chose comme ceci:
Alors ce que je fais chaque fois que je change quelque chose, au lieu de l'exécution de maven paquet, j'ai effectuer "projet" (dans l'IDÉE), /target/classes le dossier est mis à jour et la configuration de recharger ses classes automatiquement.
J'ai un peu eu le même problème. En fait, c'est maven qui maintient le découpage de la guerre à la cible/spring-mvc-vitrine, donc si vous pointez votre produit /cible/spring-mvc-vitrine/WEB-INF/classes, vous devrez exécuter maven chaque fois que vous modifiez une classe. Au lieu de cela, si vous pointez à regarder target/classes, vous vous en sortir avec un "projet", qui est plus rapide.
OriginalL'auteur ag0rex
Avez-vous le IntelliJ IDEA JRebel plug-in installé? Il ajoute une action de "Générer rebel.xml". Cela va générer une rebel.xml fichier, qui doit se terminer dans WEB-INF/classes dans le déploiement, et qui carte les classes à l'emplacement où l'IDÉE compile.
OriginalL'auteur Erkki Lindpere
Voici une façon simple de commencer rapidement à de déploiement à chaud avec de l'IDÉE, Jrebel et maven-tomcat.
IDÉE de déploiement à chaud de l'application web à l'aide de JRebel et tomcat7-maven-plugin
OriginalL'auteur Kevin