Жир баночка с изолированными зависимостями - PullRequest
0 голосов
/ 20 ноября 2018

Я создаю драйвер JDBC для предоставления некоторых файловых данных клиенту JDBC.Для этого мне нужны дополнительные зависимости, такие как Apache Calcite (как скелет JDBC), Джексон (для анализа JSON) и другие вещи, такие как Apache commons libs.

В настоящее время драйвер затенен в толстую банку,но чтобы не испортить клиента, мне пришлось удалить некоторые зависимости, а другие я выровнял с версией в целевом клиенте.Пока это работает, но очень неудовлетворительно.Кроме того, я не могу повторно использовать драйвер в другом клиенте JDBC, поскольку существуют другие конфликты зависимостей и отсутствуют некоторые зависимости.

Вот почему у меня возникает вопрос, знает ли кто-нибудь эффективный способ размещения моего собственного кодав JAR вместе со всеми зависимостями, скрытыми как JAR.Например:

/META-INF/*
/lib/* (external jars)
/com/... (my classes)

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

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

Есть ли более простое решение??Может быть, как плагин Maven?OSGi не вариант ...

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