Как загрузить разные библиотеки на основе входящих параметров? - PullRequest
1 голос
/ 13 июля 2010

Я создаю Java-клиент, используя разные библиотеки, они являются одной и той же базой, но с разными оптимизациями.

Есть ли шаблон (или что-то еще), который я могу использовать для загрузки разных библиотек, например:

java -jar myapp.jar 1 (загружается с библиотеками из набора 1, правильно импортирует и создает клиент, используя эту библиотеку) ....

Обновление: я пробовал OSGI и похожевроде бы загружает банки как услуги.Мне нужен способ загрузки очень похожих библиотек при запуске приложения.Библиотека имеет абсолютно одинаковые имена пакетов / методов, но отличаются по некоторым вычислениям.Мне нужен точно такой же клиент, чтобы получить реалистичные результаты.Спасибо

Ответы [ 3 ]

0 голосов
/ 13 июля 2010

Это звучит как хороший пример использования OSGI. Вот несколько хороших уроков . Каждая из ваших библиотек будет отдельным файлом JAR. OSGI позволяет загружать или выгружать каждую банку по своему усмотрению. Вы можете менять библиотеки на лету, фактически не перезапуская приложение.

Edit:

Вот хороший пример приложения.

0 голосов
/ 13 июля 2010

В качестве альтернативы OSGi (что является хорошим способом сделать это) вы можете использовать Java Web Start., Если ваши зависимости статичны (то есть, если вы не будете менять версию библиотеки во время выполнения).

Если вы в этом случае, это просто, как динамически генерируемый файл JNLP с версией библиотеки, выбранной в соответствии с пользовательскими параметрами.

0 голосов
/ 13 июля 2010

Звучит так, как будто идея интерфейса java.sql может работать.Напишите интерфейсы, которые используют ваши клиенты, затем создайте JAR-файл реализации, который загружается в соответствии с определенным параметром, таким как драйверы JDBC.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...