Package reloaction
To avoid classpath conflicts with other plugins using the same dependencies, dependencies should be relocated to a unique package. More information can be found here.
The following Gradle configuration relocates all dependencies using the shadow plugin, that will be included in the jar file, to a new location:
plugins {
id 'com.github.johnrengelman.shadow' version '6.1.0'
}
shadowJar {
archiveClassifier.set('') // remove the 'all' suffix
}
import com.github.jengelman.gradle.plugins.shadow.tasks.ConfigureShadowRelocation
task relocateShadowJar(type: ConfigureShadowRelocation) {
target = tasks.shadowJar
prefix = "mypluginshadow" // Default value is "shadow"
}
tasks.shadowJar.dependsOn tasks.relocateShadowJarAfterwards a jar file can be built by running the Gradle task shadowJar.
Last updated