2010-12-10 73 views
0

J'ai donc reçu une API Java d'un client et le code principal est dans main.jar. Mais les instructions qu'il m'a données me demandent d'ajouter ces autres fichiers (a.jar, b.jar, etc.) dans le classpath chaque fois que je veux utiliser main.jar. Ces autres jars de soutien sont des choses comme Xerces, Jakarta-oro, et quelques autres bibliothèques accessibles au public. Le problème est que je ne sais pas quelles versions ils sont, donc je ne suis pas sûr s'il y aurait des problèmes si je juste met à jour le fichier pom.xml dans mon application pour dépendre de main.jar et ai aussi des dépendances à ces autres pots ainsi avec les dernières versions d'entre eux.Reçu un fichier jar principal avec d'autres fichiers jar qui doivent être dans le classpath. Quelle est la meilleure façon d'inclure ce pot principal dans mon projet maven?

Quelle est la meilleure stratégie pour utiliser main.jar dans mon application maven? Je prévois d'ajouter main.jar à notre dépôt maven interne, mais que dois-je faire au sujet des xerces, jakarta-oro, et d'autres jars quand je ne sais pas quelles versions ils sont?

Merci

Répondre

1

Si vous êtes chanceux le fichier /META-INF/MANIFEST.MF intérieur a.jar, etc. b.jar contient une entrée « Mise en œuvre-Version » ou d'autres informations utiles que vous dire ce que version ils sont. Si ce n'est pas le cas, vous pouvez télécharger les dernières versions du site Web du projet et vérifier si elles ont la même taille de fichier que vos dépendances groupées. Vous pouvez également venir à l'idée de regrouper les dépendances avec le main.jar dans un grand pot, mais cela peut devenir amusant, quand vous aurez deux fois plus de dépendances dans votre chemin de classe à un moment donné ...

Qu'en est-il juste de demander au client quels numéros de version ont ces dépendances?

1

Si vous n'avez aucune information sur ces bibliothèques tierces, ajoutez-les simplement à src/resources/META-INF/lib et validez SVN. C'est la meilleure façon, si nous parlons de la boîte noire approche.