I’m using shadowJar to construct an Uberjar. It seems to mostly work. The 224 jar files are compiled into one jar but their dependencies that are included in their jars seem to be missing. If I check the final jar it will be missing .class files that are included individually in the original jars leading to class not found errors. I suspect I have to start over and include these libraries and the right versions as deps but if I could just use the jars that would be great because I don’t really have an executable to combine with.
plugins {
id 'com.github.johnrengelman.shadow' version '7.0.0'
id 'java'
}
version = '1.0.0'
repositories {
mavenCentral()
}
dependencies {
implementation 'commons-io:commons-io:2.6'
}
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
tasks.register('uberJar', ShadowJar) {
archiveClassifier = 'uber'
zip64 = true
from {
file("lib").listFiles().findAll { it.name.endsWith('jar') }
}
relocate 'org.apache.commons.cli', 'shadow.apache.commons.cli'
include '*.class'
}