Question

J'ai produit un fichier oreille avec un intérieur de fichier de guerre, mais le fichier de l'oreille contient des fichiers jar qui sont déjà dans le dossier lib du fichier de guerre. Comment puis-je supprimer les fichiers en double pot, et où doivent les fichiers jar être? Dans le dossier du fichier de guerre lib ou en dehors du fichier de guerre? (J'utilise plugin maven oreille et plugin guerre maven dans mon projet).

Était-ce utile?

La solution

J'ai finalement trouvé un moyen de le faire en produisant des fichiers de guerre maigres dans un fichier de l'oreille. Je me suis inspiré par l'exemple-guerre-plugin Maven d'ici maigres-guerres

suivi les instructions de l'exemple, je me suis déplacé tous les fichiers jar hors du module de guerre et de le mettre dans un dossier lib dans les fichiers de l'oreille.

Ainsi, la structure finale du fichier ear sera:

  ear-app
   -- lib (all the jar files will be here)
   -- webModule1
      -- lib (empty)
   -- webModule2
      -- lib (empty)
   -- ejbModule

Autres conseils

Si vous avez des pots qui sont utilisés par les deux, l'archive EJB et l'archive WEB, vous pouvez procéder comme suit:

  1. garder tous les pots communs à la racine du .ear
  2. utilisez l'attribut Class-Path du manifest.mf dans les archives EJB et Web pour faire référence à ces fichiers jar. Rappelez-vous que l'emplacement des pots sera par rapport à la racine du fichier de l'oreille.

Même si vous ne disposez pas d'un pot EJB, les étapes ci-dessus fonctionneront.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top