2012-06-17 13 views
0

Est-il possible d'utiliser la même bibliothèque avec des versions différentes?Utiliser 2 versions de même Lib

La chose est:

j'ai le httpclient-4.0.1 dans mon application dans le répertoire WEB-INF/lib.

J'ai créé une API pour le service Amazon S3, qui utilise le httpclient-4.1.1. Mais je ne veux pas mettre à jour ma bibliothèque d'applications pour utiliser la nouvelle version, car je n'ai pas assez de temps pour tester et garantir que l'application fonctionnera correctement. Donc, y a-t-il un moyen, que mon API ai fait (en fait un pot) pour utiliser le httpclient-4.1.1 sans avoir besoin de mettre à jour la bibliothèque de mon application (4.0.1)? Vous ne pouvez pas utiliser 2 versions de la même Lib dans le même chargeur de classes;

Répondre

1

mais vous pouvez utiliser un chargeur de classe différent pour charger les différentes versions. Par exemple, vous pouvez utiliser un chargeur de sous-classe pour le chargeur httpclient-4.0.1 et le bouclier 4.1.0 dans le chargeur de super-classe.

+0

Le fichier .JAR est-il possible d'exécuter le code de httpclient uniquement à partir du pot dans mon pot? – Saeger

+0

Oui, pour rendre le code clair, vous pouvez fusionner tous les invocations HttpClient dans une classe (appelons-la HttpClientHelper); Ensuite, créez un chargeur de classe qui a 4.1.1 dans son chemin de classe, et utilisez ce chargeur de classe pour charger HttpClientHelper. Si vous avez besoin d'exemples de codes, donnez-moi votre adresse e-mail. –

Questions connexes