Create a Fat JAR with Gradle: Difference between revisions
Jump to navigation
Jump to search
Line 12: | Line 12: | ||
=Creating a Fat JAR with the Jar Task from the Java Plugin= | =Creating a Fat JAR with the Jar Task from the Java Plugin= | ||
<syntaxhighlight lang='java'> | |||
jar { | |||
manifest { | |||
attributes "Main-Class": "com.example.Application" | |||
} | |||
from { | |||
configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } | |||
} | |||
} | |||
</syntaxhighlight> | |||
=Creating a Fat JAR with the Shadow Plugin= | =Creating a Fat JAR with the Shadow Plugin= | ||
<font color=darkgray>Not tested.</font> | <font color=darkgray>Not tested.</font> |
Revision as of 00:08, 8 March 2019
External
Internal
Overview
A "fat" JAR, or an uber-JAR, is a self-sufficient archive which contains both classes and dependencies needed to run an application. It is also configured with a Main-Class attribute. The Gradle Java plugin creates "thin" JARs. However, it can be configured to create a "fat" JAR. Specialized plugins are also available.
Creating a Fat JAR with the Jar Task from the Java Plugin
jar {
manifest {
attributes "Main-Class": "com.example.Application"
}
from {
configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
}
}
Creating a Fat JAR with the Shadow Plugin
Not tested.