DevOps / Maven Interview questions
What is the purpose of dependency-reduced-pom.xml generated by the shade plugin?
The dependency-reduced-pom.xml file is a temporary file automatically generated by the Apache Maven Shade Plugin when you package your project into an "uber-jar" or "fat-jar".
- Removes bundled dependencies: When the plugin bundles third-party library classes directly inside your JAR, it strips those identical library declarations out of the
section in this new XML file. - Prevents classpath conflicts: If another project imports your new shaded fat-jar, Maven reads the dependency-reduced-pom.xml instead of your original pom.xml. This prevents downstream projects from downloading those bundled libraries a second time.
More Related questions...