Eclipse ant & webapps

Eclipse ant & webapps - Java - Programmation

Marsh Posté le 09-10-2009 à 18:28:35    

Bonjour à tous,
Voilà une question philosophique avant le WE. :bounce:  
 
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 . :o  
 
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 ?

Reply

Marsh Posté le 09-10-2009 à 18:28:35   

Reply

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/


Message édité par charly007 le 11-10-2009 à 20:25:19
Reply

Marsh Posté le 11-10-2009 à 22:27:06    

et si tu utilises maven, pas besoin de mettre tes lib dans le contrôle de version


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
Reply

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. :kaola:

Reply

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 :
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project basedir="." default="webapps" name="ebuilder">
  3. <property name="webapps.dir" value="WebContent"/>
  4. <target name="clean">
  5.  <ant antfile="build.xml" target="clean"/>
  6.  <delete dir="${webapps.dir}"/>
  7. </target>
  8. <target name="webapps">
  9.  <ant antfile="build.xml" target="war"/>
  10.  <unwar src="target/bozzo.war" dest="${webapps.dir}"/>
  11. </target>
  12. </project>


 
Il fait référence à mon build.xml qui construit le war puis défait le war dans WebContent.

Reply

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. :kaola:


 
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.


---------------
Tous les sud africains sont ségrégationistes, à part Ted. (P. Desproges)
Reply

Marsh Posté le 12-10-2009 à 15:05:00    

r1-1024 a écrit :


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


 
les jsp dans src ??
 
chui choqué


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed