Puis-je décharger et recharger dynamiquement (autres versions du même fichier JAR)?

Je suis en train d'écrire un programme serveur qui est utilisé pour exécuter les tests unitaires d'une API
(afficher beaucoup d'informations et de fourniture d'accès web pour contrôler
/surveiller l'ensemble de la chose)...

Cette API est connu du serveur lors de la compilation et est fourni
comme un POT.

Pour être en mesure de comparer les résultats du test de l'unité de différentes versions
de l'API (sans redémarrer le serveur),
Je veux être en mesure de décharger le 'courant' version de l'API,
et pour recharger une nouvelle (ou ancienne).

Je ne veux pas utiliser URLClassLoader et d'appeler tous les
la méthode par le nom
( à l'aide de getDeclaredMethod("someMethod") ),
parce que le serveur dépend fortement de l'API, et il serait
compliqué à 'wrap' chaque appel de méthode dans une telle façon sale.

Je pensais: comme toutes les interfaces de tous versions du BOCAL
sont même, je n'ai pas pu le faire en quelque sorte le rechargement d'une autre version
du BOCAL (sans que le nom-invokation?).

Note: je suis en utilisant la dernière version de Java SE (6) et Java EE (5).

Si vous pensez, ce que je suis en train de réaliser n'est pas possible,
s'il vous plaît suggérer une "solution de contournement" ou un concept différent.

source d'informationauteur ivan_ivanovich_ivanoff