Я создаю проект командной строки Java, без графического интерфейса.В проекте используется любое количество проектов с открытым исходным кодом: Spring, Logback, Commons CLI и т. Д. Когда я начал задумываться об упаковке, я подумал, что он получится в виде zip-файла, который может быть взорван в jar с подкаталогом lib.и зависимые банки в lib.
adapter.jar
/lib/dependencyA.jar
/lib/dependencyB.jar
etc.
Я играл с Maven Assembly, но он по-прежнему не похож на описанный выше, и я не нашел примеров, которые генерируют структуру выше.Возможно ли это сделать?Кроме того, наличие многомодульной структуры добавляет еще один уровень сложности, который мне не удалось решить, поскольку сборочный модуль не может найти основной модуль в качестве зависимости.Это мой первый проект Maven, поэтому я все еще изучаю, как работает Maven.Я пролистал книгу Sonatype, но что-то упустил, так как даже с помощью раздела Best Practices не удалось разрешить отсутствующую зависимость.Примеры, которые я видел, обычно включают в себя объединение в исполняемый jar-файл uber, некоторые из которых используют проект Shade, другие - нет.Мой вопрос: хорошая ли идея сделать Uber Jar, включая сторонние библиотеки, такие как Spring и т. Д.?Или я должен продолжать с моим оригинальным планом подкаталога zip / lib?