Eclipse ant & webapps - Java - Programmation
Marsh Posté le 11-10-2009 à 20:24:41
Je ne connais pas svn, mais s'il est comme cvs tu dois pouvoir lui indiquer d'ignorer des fichiers lors de la synchronisation.
http://sdesmedt.wordpress.com/2006 [...] d-folders/
Marsh Posté le 12-10-2009 à 09:21:04
Le pb n'est pas d'utiliser cvs, svn ant ou maven.
Mon pb est l'utilisation d'eclipse.
Eclipse m'oblige à avoir un répertoire WebContent qui correspond à la structure du war.
Hors si j'utilise une arborescence de sources différente ça coince.
Par exemple j'ai pris l'habitude d'avoir une arbo du type :
-build.xml
-main/src/flash
-main/src/java
-main/src/jsp
-main/src/relax
-main/src/rsrc
-...
-main/test
-...
-target/...
-un dépôt externe de binaires
A la sauce maven mais en utilisant ant.
Ca fonctionne très bien avec des projets jse mais en j2ee ça merde.
-eclipse ne trouve pas correctement les sources (par ex il me met le package main.java à la base de mes sources java même si c simple à résoudre)
-eclipse me dit à chaque ajout de page jsp qu'elle ne sera pas prise en compte au runtime car elle n'est pas dans WebContent
-Et évidement au lancement du serveur depuis éclipse, seules mes sources java sont prises en compte.
Du coût éclipse me sers juste pour la complétion. C dommage.
Alors je me suis plié à l'arbo qu'il préfère (même si je suis un fervent défenseur d'une arbo source et produit indépendant) mais ça pose les pbs suivants qu'on ne peut pas résoudre :
-verbosité de cvs ou svn ou autre lors de la synchronisation. Même si on indique d'ignorer certain répertoires, c'est verbeux pour rien et j'aime pas ça.
-incompatibilité collaborative : si un collaborateur utilise un autre outil qu'eclipse pour développer et que cet outil lui met des contraintes différentes, ou si l'on hérite d'un projet à maintenir.
-certains fichier comme web.xml ou context.xml devraient être générés à la construction de l'appli (donc par ant ou maven) car il implique une duplication de donnée.
Donc j'aimerai utiliser éclipse avec n'importe qu'elle arborescence. C'est son boulot de se plier à mes sources, et pas l'inverse.
Marsh Posté le 12-10-2009 à 12:28:56
Pour ceux que ça intéresse, voilà une rustine.
1-On fait notre projet comme bon nous semble
2-On fait un ant builder dans eclipse qui appelle notre build
Voilà mon fichier de build pour eclipse :
Code :
|
Il fait référence à mon build.xml qui construit le war puis défait le war dans WebContent.
Marsh Posté le 12-10-2009 à 14:22:18
r1-1024 a écrit : Donc j'aimerai utiliser éclipse avec n'importe qu'elle arborescence. C'est son boulot de se plier à mes sources, et pas l'inverse. |
Eclipse + plugin Maven.
Et sinon, quand tu crées un projet avec Eclipse, lis ce qu'il y a écrit dans les petites boites au lieu de cliquer sur "ok" ou "suivant" : tu peux choisir le layout de ton projet.
Marsh Posté le 12-10-2009 à 15:05:00
r1-1024 a écrit : |
les jsp dans src ??
chui choqué
Marsh Posté le 09-10-2009 à 18:28:35
Bonjour à tous,
Voilà une question philosophique avant le WE.
J'utilise ant et eclipse pour mes projets j2EE.
Le gros pb c'est que eclipse oblige de mettre dans WebContent tout ce qui n'est pas java.
On se retrouve donc avec un répertoire WebContent qui contient en particulier :
1- les dépendances jar (WEB-INF/lib)
2- des swf compilés
3- une arborescence source égale à l'arborescence produit
Je trouve sur ces points qu'eclipse s'est viandé.
1 et 2 sont gênants, car "svn status" dans les sources déclare dans la console tous les binaires non commités (et c'est normal : on ne commite pas de jar ou de swf dans un source manager). Du coût c'est verbeux pour rien. J'suis plus habitué (et je trouve que c'est plus propre) que si tout est à jour dans le dépôt rien ne soit marqué dans la console.
3 est très gênant qd on collabore avec d'autres qui n'utilisent pas eclipse. Si on change d'IDE on doit aussi changer l'arborescence des sources .
Alors ... la seule solution que j'envisage c'est que eclipse appelle mon script ant avant de lancer le serveur.
Par exemple :
1- run server depuis eclipse
2- ant construit le war (ça pourrait aussi être maven)
3- eclipse lance tomcat et déploie le war
4- le serveur tourne sous eclipse
Alors comment fait on ça ?