Я пишу серверную программу, которая используется для запуска модульных тестов API
(отображение большого количества информации и предоставление веб-доступа для контроля
/ контролировать все это) ...
Этот API известен серверу во время компиляции и предоставляется
как баночка.
Для возможности сравнения результатов модульного тестирования разных версий
API (без перезапуска сервера),
Я хочу иметь возможность выгрузить «текущую» версию API,
и перезагрузить более новый (или более старый).
Я не хочу использовать URLClassLoader и вызывать каждый
метод по имени
(используя getDeclaredMethod("someMethod")
),
потому что сервер сильно зависит от API, и это будет
сложно «обернуть» каждый вызов метода таким грязным способом.
Я думал: поскольку все интерфейсы всех версий JAR
такие же , не могу ли я сделать это путем перезагрузки другой версии
JAR (без вызова по имени?).
Примечание. Я использую последние версии Java SE (6) и Java EE (5).
Если вы думаете, что я пытаюсь достичь, невозможно,
пожалуйста, предложите «обходной путь» или другую концепцию.