2009-06-03 8 views
0

Mon premier message, alors allez-y doucement sur moi.Référencement de pots JAXB - meilleure pratique

Je suis à la recherche de conseils sur l'organisation et le référencement des pots de tiers pour une utilisation dans mon application web j2ee. Les bocaux que j'ai besoin d'organiser et de référencer sont les jar api JWSDP-2.0 JAXB. Je utilise Eclipse et Tomcat 5.5. Mon application Web échange du code XML avec un service Web, et doit donc effectuer un tri et unmarshalling XML en utilisant les API JAXB dans JWSDP-2.0.

J'ai téléchargé JWSDP-2.0 et installé sur mon PC. J'essaie maintenant de trouver le meilleur moyen de rendre les fichiers jar nécessaires contenus dans mon application web au sein d'eclipse sur ma machine, et aussi dans Tomcat à la fois sur ma machine et sur les éventuels serveurs de test et de production.

J'ai commencé simplement à copier les fichiers .jar dans le dossier WEB-INF/lib de mon projet. Cela signifiait que les fichiers jar seraient maintenant exportés dans le .war lors du déploiement sur Tomcat. Cependant, je n'aime pas cela parce que les fichiers jar proviennent de quelques bibliothèques différentes dans JWSDP-2.0, et les copier comme ça signifie que tout a été jeté ensemble, plutôt que joliment séparés comme JAXB, JAXP, SAAJ, etc. , il existe des conflits de noms, par exemple, mon application Web contient déjà des anciens fichiers d'analyse XML, tels que xalan.jar, qui sont déjà utilisés par une partie différente de l'application Web. J'ai ensuite supprimé tous ces jarres et créé une série de bibliothèques utilisateur dans eclipse, par exemple "jwsdp-2.0_jaxp", "jwsdp-2.0_jaxb" qui référence les jars à partir de leur emplacement dans l'installation WSDP-2.0. Cela fonctionne très bien en ce qui concerne le respect de mon application web dans eclipse, mais je dois maintenant mettre ces jars à la disposition de Tomcat et je suis un peu coincé là-bas sur la meilleure façon de le faire. Donc, à la base, ma question est comment puis-je obtenir les fichiers jar référencés dans Tomcat? Plus généralement, je suis à la recherche de conseils sur les meilleures pratiques pour le référencement et l'inclusion de jar tiers dans un projet en vue d'un déploiement en douceur sur les serveurs.

Si quelqu'un peut recommander des bons articles/livres/resorces sur l'organisation du code et de déploiement qui me aider à apprendre les meilleures pratiques pour ce genre de scénario qui serait génial

Vive à l'avance.

Répondre

1

La meilleure pratique pour organiser vos dépendances serait d'utiliser Maven pour construire votre projet Eclipse et de la guerre pour tomcat et lui permettent de télécharger toutes les dépendances nécessaires:

https://jaxb.dev.java.net/jaxb-maven2-plugin/

3

Quelques points ici:

  • Si vous rencontrez des conflits JARS dans votre fichier WAR, vous demandez des problèmes. Vous devez trier ceux dont votre application a besoin, et jeter le reste. Sinon, vous courez le risque que Tomcat charge les "mauvaises" classes.
  • JWSDP 2.0 est très et contient une ancienne version préliminaire de JAXB. Je recommande fortement d'utiliser les derniers fichiers JAR JAXB (à partir de http://jaxb.dev.java.net), car le JAXB2 à accès anticipé souffrait de nombreux problèmes.
  • Bien qu'il puisse être intéressant pour votre WEB-INF/lib d'avoir une structure de répertoire structurée, cela n'a pas vraiment d'importance, puisqu'il s'agit de votre artefact de construction. Tant que vous vous approvisionnez les fichiers JAR à partir d'un référentiel structuré, vous ne devez pas ressentir le besoin de conserver cette structure dans le fichier WAR. Tomcat s'en fiche.Le fait que vous obteniez des conflits de noms en les plaçant tous dans un répertoire est un avertissement que vous devez trier ces conflits.
Questions connexes