2011-10-24 7 views
2

J'ai utilisé des projets maven dans hudson avec beaucoup de succès depuis un certain temps. Cependant, cette fois j'ai besoin de construire un projet web eclipse dynamique qui est habituellement construit dans eclipse et ensuite la guerre est exportée en production. Comment puis-je construire ce projet dans Hudson?comment construire un projet web dynamique eclipse dans hudson

Merci d'avance!

Répondre

4

Si vous êtes familier avec Maven, je vous suggère d'utiliser le plugin m2e-wtp - de cette façon, vous pouvez utiliser à la fois Maven et WTP pour votre application web. Il devrait être quelque part dans le catalogue m2e (Fenêtre> Préférences> Maven) maintenant que m2e a déménagé à la Fondation Eclipse, vérifiez Maven/Tomcat Projects In Eclipse Indigo/3.7 pour plus d'informations. Hudson/Jenkins le construira simplement comme un projet Maven normal, sans config supplémentaire nécessaire.

  • Eclipse surtout continuer à utiliser ses propres outils avec certains Maven inbetween, mais plus important encore, il obtiendra tout dependenices de Maven et les avoir dans le chemin de construction

Si vous disposez déjà d'un projet Web dynamique dans Eclipse , vous devrez probablement déplacer un tas de dossiers pour les organiser dans la Maven structure attend:

src/ 
    main/ 
     java/  -- your Java source files (servlets, actions, ...) 
     resources/ -- your resource files (struts.xml, log4j.xml, NOT web.xml) 
     webapp/  -- your web root (previously WTP's WebContent/) 
      WEB-INF/ -- your WEB-INFt (web.xml) 
    test/ 
     java/  -- your Java test cases 
     resources/ -- your test resource files 
pom.xml 

Réglez le <packaging>-war si Maven sait qu'il doit mettre vos dépendances dans WEB-INF/lib/ et de construire une guerre.

Quant à dependenices, vous aurez probablement besoin de l'API Servlet:

<dependency> 
    <groupId>javax.servlet</groupId> 
    <artifactId>servlet-api</artifactId> 
    <version>2.5</version><!-- change version as needed --> 
    <scope>provided</scope><!-- Mind the scope!--> 
</dependency> 

Pay attentation à la portée provided: La spécification Servlet interdit des applications Web pour apporter leur propre API Servlet JAR ainsi que dans WEB-INF/lib et conforme web les conteneurs refuseront de charger votre application web dans ce cas (ils fourniront eux-mêmes le JAR dans la version qu'ils supportent). Il est probablement préférable de commencer par cliquer avec le bouton droit de la souris sur le projet Dynamic Web et aller dans le projet Maven> Convertir en Maven, puis déplacer les dossiers comme indiqué ci-dessus et passer en revue tous les avertissements des plugins m2e et m2e-wtp. vous (la plupart offrent un quickfix).

Questions connexes