Я хочу по-другому упаковать приложение Java, чтобы создать связанный образ Docker. В основном текущая конфигурация заключается в создании образа Docker на основе папки, содержащей 2 каталога:
prog: файлы JAR проектов Java, между которыми есть зависимости
lib: библиотеки проекта (зависимости)
Я хотел бы создать файл JAR, содержащий содержимое этих двух папок.
Не все проекты Java являются зависимыми, но есть один определяющий объекты, которые используются в других проектах. В настоящее время я ищу способ упаковать все эти проекты в один JAR. Я нашел инструмент под названием OneJar, который решит мою проблему, но я не уверен, что это будет правильный путь.
Есть ли у вас какие-нибудь предложения по дальнейшим действиям?
Спасибо !




С maven:
Плагин Maven Shade создаст единую «убер-банку» со всеми вашими зависимостями. https://maven.apache.org/plugins/maven-shade-plugin/index.html
Spotify docker-maven-plugin создаст и отправит ваш образ с помощью этого uber jar: https://github.com/spotify/docker-maven-plugin
Вы также можете посмотреть проект google jib https://github.com/GoogleContainerTools/jib
Хорошо, спасибо, я попытался реализовать это в помпе проекта, используемого другими проектами. Он генерирует файл JAR с его зависимостями, но содержит только скомпилированные классы этого проекта. Как я мог интегрировать другие проекты в файл JAR?