Язык программирования Kotlin, его компилятор, стандартная библиотека и инструменты сборки для кроссплатформенной разработки, создаваемые JetBrains.
GradleUp/shadow
Gradle-плагин для сборки fat/uber JAR, переноса пакетов, преобразования файлов и уменьшения размера сборки с помощью R8/ProGuard.
- Звёзды
- 4,245
- Форки
- 427
- Открытые issues
- 11
- Последний коммит
- 16 часов назад
Что это?
Shadow — Gradle-плагин, который упаковывает проект вместе с его зависимостями в один fat или uber JAR. Это аналог Maven Shade Plugin для Gradle, охватывающий типичные задачи по объединению библиотек в один запускаемый артефакт.
Помимо объединения зависимостей, плагин умеет переносить (переименовывать) пакеты, чтобы избежать конфликтов в classpath, преобразовывать и объединять файлы ресурсов при упаковке, а также оптимизировать результат с помощью R8 или ProGuard. Плагин опубликован в Gradle Plugin Portal и Maven Central с ID com.gradleup.shadow и поддерживает Gradle 8.0 и более поздние версии. Проект перешёл в организацию GradleUp от первоначального мейнтейнера; старый ID плагина com.github.johnrengelman.shadow используется только в сборках, которые его ещё не сменили.
Ключевые возможности
- 01Собирает fat/uber JAR, объединяя зависимости проекта в один артефакт.
- 02Переносит пакеты, чтобы избежать конфликтов библиотек в classpath.
- 03Преобразует и объединяет файлы ресурсов при упаковке.
- 04Оптимизирует результат с помощью R8 или ProGuard.
- 05Доступен в Gradle Plugin Portal и Maven Central.
Сценарии использования
- Создание одного запускаемого JAR для приложения на Java или Kotlin с большим количеством зависимостей.
- Перенос библиотеки в собственный пакет, чтобы избежать конфликтов с другими версиями в classpath.
- Уменьшение размера распространяемого JAR за счёт удаления неиспользуемого кода с помощью R8 или ProGuard.
Быстрый старт
- 1
Примените в сборке Gradle плагин с идентификатором com.gradleup.shadow
- 2
Ознакомьтесь с User Guide, чтобы узнать о настройке и использовании
Что важно знать
- Для последних версий требуются Java 17 или новее и Gradle 9.4 или новее.
Темы
Частые вопросы
- Что такое shadow?
- Gradle-плагин для сборки fat/uber JAR, переноса пакетов, преобразования файлов и уменьшения размера сборки с помощью R8/ProGuard. Shadow — Gradle-плагин, который упаковывает проект вместе с его зависимостями в один fat или uber JAR. Это аналог Maven Shade Plugin для Gradle, охватывающий типичные задачи по объединению библиотек в один запускаемый артефакт.
- shadow можно использовать бесплатно? Какая у него лицензия?
- shadow распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- shadow всё ещё поддерживается?
- Активно поддерживается. Последний коммит в shadow — 7 нояб. 2026 г..
- Для чего можно использовать shadow?
- Создание одного запускаемого JAR для приложения на Java или Kotlin с большим количеством зависимостей. Перенос библиотеки в собственный пакет, чтобы избежать конфликтов с другими версиями в classpath. Уменьшение размера распространяемого JAR за счёт удаления неиспользуемого кода с помощью R8 или ProGuard.
- Как установить shadow?
- Примените в сборке Gradle плагин с идентификатором com.gradleup.shadow Ознакомьтесь с User Guide, чтобы узнать о настройке и использовании
- Где скачать shadow?
- Исходный код и инструкции по установке — на GitHub: https://github.com/GradleUp/shadow
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Плагин Gradle для публикации библиотек Java, Kotlin и Android с исходниками и javadoc в Maven Central и другие репозитории Nexus.
Плагин Gradle, который подключает ktlint и добавляет задачи проверки и автоформатирования Kotlin-проектов.
Gradle — инструмент автоматизации сборки многопроектных решений на Java, Kotlin, Scala, Android, Groovy, C++ и Swift.
Собирайте оптимизированные Docker- и OCI-образы Java-приложений с помощью Maven или Gradle, не используя Docker daemon.
Лёгкий Maven-менеджер репозиториев для JVM-артефактов с самостоятельным размещением — альтернатива Nexus, Archiva и Artifactory.