2010-02-18 7 views
8

Récemment, nous avons migré de l'utilisation de ant à maven. Au sein de Netbeans, j'avais l'habitude d'éditer et de sauvegarder des fichiers html, xhtml, javascript, css dans le WAR et presque immédiatement les changements étaient disponibles sur le serveur. Maintenant, lorsque je modifie et enregistre ces types de fichiers dans le fichier WAR, rien ne se passe. Je dois faire un clic droit sur mon EAR -> Construire avec les dépendances -> Exécuter pour rendre les changements disponibles. Ce processus prend des âges.Déploiement à chaud de modifications avec NetBeans, Maven et Glassfish

J'ai trouvé quelques questions similaires, mais je suis toujours confus.

EDIT: Je viens d'effacer à nouveau mon environnement de développement et ma configuration. Ensuite, j'ai dupliqué la configuration sur la machine d'un collègue (lui sur Windows, moi sur Ubuntu). Avec le même processus d'installation, moins de systèmes d'exploitation différents, il peut modifier/enregistrer des fichiers xhtml et voir les changements sans étapes supplémentaires!

+0

J'ai besoin de la même chose pour Tomcat, une idée? –

+0

J'ai exactement le même cauchemar ... sauf que j'ai réinstallé mon propre système d'exploitation (nettoyage annuel), configuré ma machine de manière aussi identique que possible et que j'ai perdu la possibilité de changer les fichiers JS sans compiler/déployer. Je ne peux trouver aucune information à ce sujet ... – paullth

Répondre

1

Pas vraiment une bonne idée ... mais je l'ai peut-être fait aussi pour un développement rapide. Chut! Utilisez le plugin exec de maven pour le faire. De mon pom:

<plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>exec-maven-plugin</artifactId> 
      <version>1.1</version> 
      <executions> 
       <execution> 
        <phase>integration-test</phase> 
        <goals> 
         <goal>exec</goal> 
        </goals> 
       </execution> 
      </executions> 
      <configuration> 
       <executable>asadmin</executable> 
       <arguments> 
        <argument>deploy</argument> 
        <argument>${project.build.directory}/${project.build.finalName}</argument> 
       </arguments> 
      </configuration> 
     </plugin> 

EDIT: En supposant que asadmin (qui est une commande glassfish) peut être trouvé.

+0

J'ai besoin de la même chose pour Tomcat, une idée? –

3

Pour activer le déploiement à chaud, activez la fonctionnalité "Compiler sur Enregistrer" dans NetBeans. Dans votre POM, ajoutez cette propriété:

<netbeans.compile.on.save>all</netbeans.compile.on.save> 

Cette propriété sera héritée, donc si vous avez un projet parent, vous pouvez envisager de le mettre là.

Notez qu'il existe un bogue dans lequel la modification n'est pas reflétée dans l'interface utilisateur, de sorte que la propriété semble n'avoir aucun effet, mais vous remarquerez que le déploiement à chaud fonctionne.

Questions connexes