What is that filter for? Have you tried it without that filter? I don’t see why that filter would matter for that jar but everything else looks correct. Try it without that filter and see what happens.
Because without the filter, I get the following error:
Task :fatJar FAILED
FAILURE: Build failed with an exception.
What went wrong:
Execution failed for task ‘:fatJar’.
Could not expand ZIP ‘/home/me/.gradle/caches/modules-2/files-2.1/org.apache.drill/drill-client/1.13.0/c90c87887c292a3712eccc7cebdc48b0b9d93ec9/drill-client-1.13.0.pom’.
Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
Get more help at https://help.gradle.org
Deprecated Gradle features were used in this build, making it incompatible with Gradle 5.0.
Use ‘–warning-mode all’ to show the individual deprecation warnings.
See Command-Line Interface - Gradle User Manual
The only way I could see to fix the error is to let zip know that a .pom cannot be unzipped.
That is odd, I have never had gradle try to put a pom in my fat jar. Can you see if you get different behavior if you change “runtime” to “compile” in your from closure. I have always done it with compile…although I see no reason runtime wouldn’t work.
I added the filter back which put me back to my original problem. org.apache.hadoop.hadoop-2.7.0-me-1803.jar is still not being included in the fat jar.
In the excerpt of your dependencies the version of the hadoop dependency is missing the ending tick. Is it really like that or is that just a product of cut/pasting into the forums?
It’s a Cut-n-Paste error. I’ve found a workaround which involves downloading the jar, unzipping the jar, and then appending the classes to the existing fat jar. Apparently, others have run into this issue too. I’m reusing their recommended workaround-code to build my fat jar.