Executable fat jars are easy to deploy and upgrade, and don't need wrapper scripts to pull in the classpath. You can use the Gradle fatjar plugin to create executable, self-contained jars in Gradle, akin to the Shade plugin for Maven -
apply plugin: 'fatjar'
buildscript {
dependencies {
classpath 'eu.appsatori:gradle-fatjar-plugin:0.1.3'
}
}