
shadow
Gradle plugin for creating fat/uber JARs, transforming files, relocating packages, and optimizing applications with R8/ProGuard. The Gradle counterpart to Maven’s Shade plugin.
The Lens
By Erik Loyd, SaaS CEO and former COO/CFO of an AWS Premier Partner.
Updated Aug 2026
Shadow is how the JVM world ships a single runnable jar. It's the Gradle plugin for building fat/uber JARs: your code plus every dependency in one file, with package relocation to prevent version conflicts and optional R8/ProGuard shrinking. It's the Gradle counterpart to Maven's Shade plugin, free and open source.
Nothing to run; it's a build plugin. The one operational thing to know is the identity change: the plugin moved from the old com.github.johnrengelman.shadow coordinates to the GradleUp organization, so new builds should use com.gradleup.shadow to keep receiving fixes.
Anyone distributing JVM CLIs, Spark jobs, or plugins needs this or something like it. Relocation is the feature that separates it from a naive merged jar: two libraries demanding different Guava versions stops being your problem.
The catch: fat jars are a distribution choice with costs. Merged service files and duplicate resources need configuring, builds get slower, and Spring Boot apps don't need it because Boot's own packaging already does this job.
Free vs Self-Hosted vs Paid
fully freeFree tier: Everything. The plugin is fully open source with no commercial edition.
Self-hosted: Not applicable. It runs inside your Gradle build.
Paid: Nothing. The only cost is build time, which relocation and minimization can noticeably extend on large dependency graphs.
Completely free and open source.
Get tools like this every Wednesday
One featured tool, three on the radar. No fluff.
A low score is not a verdict on quality. Young and niche tools start low by design. How we calculate scores
Trust Signals
License: Apache License 2.0
Use freely. Patent grant included.
Commercial use: ✓ Yes
About
- Owner
- GradleUp (Organization)
- Stars
- 4,224
- Forks
- 425
Also by GradleUp
Explore Further
More tools in the directory
RxJava
RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM.
48.2k ★airbyte
The leading data integration platform for ETL / ELT data pipelines from APIs, databases & files to data warehouses, data lakes & data lakehouses. Both self-hosted and Cloud-hosted.
21.9k ★infer
A static analyzer for Java, C, C++, and Objective-C
15.7k ★