2011-05-22 5 views
1

hi Je me demandais si quelqu'un connaissait un moyen de commander quelles dépendances sont appelées en premier. Le problème que j'ai, c'est que j'inclus geronimo jaxws spec 2.2, mais la version jre de javax.xml.ws.Service est en train d'être récupérée au lieu de la version de dépendance. J'ai essayé de mettre la dépendance d'abord sur la liste des dépendances et essayé la gestion des dépendances sans succès (peut-être que je l'utilise mal). Quand en éclipse je peux le dire pour ramasser les jars dans les dépendances maven d'abord, mais je ne sais pas comment le faire dans maven.Ordre de dépendance Maven

Merci beaucoup.

+0

Êtes-vous confronté à un problème avec ceci? Vous ne pouvez pas donner une préférence plus élevée à un pot dépendant par rapport à jdk. Un problème similaire a déjà été soulevé avec gernonimo jaxws et ils ont corrigé le problème en ajoutant de nouvelles propriétés aux métadonnées de jar. S'il vous plaît suivez le lien pour plus d'informations https://issues.apache.org/jira/browse/AXIS2-4927 – Prabhjot

+0

Acclamations merci - mettre les pots geronimo pertinents dans le directeur approuvé résolu le problème. On dirait que les gars de geronimo y travaillent. Je pense que c'est aussi pour le pot jaxb. – JanusFox81

Répondre

1

Je ne pense pas que vous pouvez commander les dépendances dans Maven comme vous le souhaitez. Vous devrez utiliser les instructions d'importation java pour sélectionner le service que vous voulez utiliser. Une astuce pour aider à diagnostiquer ce genre de problèmes est d'utiliser: mvn dependency: tree. Cela confirmera au moins que votre dépendance Geronimo est correctement intégrée.

+0

Merci pour la réponse. Le problème est que ce sera la même signature de paquet dans java - javax.xml.ws.Service. Il est importé par la dépendance et par le jre. La dépendance est une version plus récente mais la version jre est récupérée à la place. – JanusFox81

+0

Je ne pouvais pas comprendre comment le faire dans maven mais une solution possible, que j'utilise actuellement, est de mettre les jars requis dans le répertoire jre/lib/endorsed (créer le répertoire endossé s'il n'existe pas)). Les fichiers jaxws et jaxb jars sont arrivés en Java 6 et n'étaient pas là pour Java 5. Les versions de jre seront utilisées par maven là où elles existent, que les dépendances que vous définissez soient plus récentes ou non. Les placer dans le répertoire approuvé remplace les versions de jre. – JanusFox81