Я создаю драйвер JDBC для предоставления некоторых файловых данных клиенту JDBC.Для этого мне нужны дополнительные зависимости, такие как Apache Calcite (как скелет JDBC), Джексон (для анализа JSON) и другие вещи, такие как Apache commons libs.
В настоящее время драйвер затенен в толстую банку,но чтобы не испортить клиента, мне пришлось удалить некоторые зависимости, а другие я выровнял с версией в целевом клиенте.Пока это работает, но очень неудовлетворительно.Кроме того, я не могу повторно использовать драйвер в другом клиенте JDBC, поскольку существуют другие конфликты зависимостей и отсутствуют некоторые зависимости.
Вот почему у меня возникает вопрос, знает ли кто-нибудь эффективный способ размещения моего собственного кодав JAR вместе со всеми зависимостями, скрытыми как JAR.Например:
/META-INF/*
/lib/* (external jars)
/com/... (my classes)
Кроме того, я хочу, чтобы только мои классы были видны снаружи, а зависимости использовались только мной.
Возможно ли это?На данный момент я могу думать только о том, чтобы собрать все вместе, как описано выше, и создать фасад с собственным загрузчиком классов для создания реальных классов, которые также знают зависимости ...
Есть ли более простое решение??Может быть, как плагин Maven?OSGi не вариант ...