Comment puis-je filtrer certaines classes dans / cible / classes d'entrer dans / cible / [webApp] / web-inf / classes? Je veux qu'ils soient compilés dans / cible / classes / mais pas dans la guerre finale. P>
4 Réponses :
Vous pouvez utiliser le plugin TrueZip Maven ( http://mojo.codehaus.org/ Truezip-maven-plugin / ). P>
Voir des exemples dans: P>
http: //svn.codehaus. org / mojo / coffre / mojo / truezip-maven-plugin / src / it / p>
Merci, mais on dirait que je pouvais utiliser cela pour supprimer les fichiers de la guerre, ce qui est bon, mais j'aimerais aussi les avoir exclu du répertoire Web de travail de sorte qu'un "course en place" fonctionnerait également.
Quelles sont ces classes? S'ils sont destinés à tester, vous pouvez les spécifier en SRC / Test / Java, ils seront ensuite compilés dans les classes cible / testées dans la phase de compilation de test, mais ne seront pas incluses dans la guerre finale.
Si Ils ne doivent pas être testés et ne doivent pas être inclus dans la guerre, ils devraient peut-être être refacturés dans un autre projet afin que vous puissiez le préciser comme une dépendance (peut-être avec une portée "fournie" afin de ne pas être déployée. P>
Pour référence, vous pouvez configurer la guerre pour inclure et exclure ressources em> lorsque l'emballage. p> L'exemple suivant inclura tous les JPGS mais excluez les ressources du sous-dossier Image2: p> voir le Documentation de plug-in de guerre pour plus de détails. p> p>
Les classes sont compilées des classes latérales du client GWT qui n'ont pas besoin d'être sur le serveur, mais doivent être compilées dans / cible / classes de sorte que la compilation GWT, le test et l'exécution hébergée fonctionne correctement.
Ils doivent être sur votre chemin certainement, mais ne pouvez-vous pas les déplacer dans un projet de pot et ajouter cela comme une dépendance de portée "fournie" à la guerre?
Je pourrais, je ne saute que de ne pas faire ça. Cela facilite la filature d'un navigateur en mode hébergé un processus en plusieurs étapes.
@kebernet en faisant un projet imbriqué avec la guerre et les pots construits dans différents projets d'enfants ne font pas tourner beaucoup plus fort. Plus lent, mais pas plus compliqué.
@Rich, le filtrage des ressources ne fonctionnera pas pour les cours à moins que vous ne modifiez pas la compilation pour mettre le code dans X / Web-Inf / Classes, puis définissez X comme un dossier de ressources. Cela fonctionnerait, mais vous devrez vous tenir votre nez à partir du code STINK.
@sal je ne suggérais pas que cela fonctionnerait pour les cours. J'ai recommandé de déplacer les classes dans un autre projet. J'ai inclus la section sur les ressources de filtrage pour référence
Vous pourriez avoir de la chance avec cela, en vous supposant que dans un paquet que vous pouvez définir avec un motif ant
avec la version actuelle de Maven-War-Plugin (3.0.0) Cela fonctionne pour moi -
<profile> <id>abc</id> ... <build> <plugin> <artifactId>maven-war-plugin</artifactId> <version>3.0.0</version> <configuration> <packagingExcludes>WEB-INF/classes/com/abc/pqr/ClassName.class</packagingExcludes> </configuration> </plugin> </build> </profile>