netty-tcnative included in shaded jar causes problem with mixed netty versions
Describe the issue The issue is that netty-tcnative can not be effectively shaded, but it's being included in the shaded jar.
./META-INF/native/libnetty_tcnative_linux_x86_64.so
./META-INF/native/libnetty_tcnative_osx_aarch_64.jnilib
./META-INF/native/netty_tcnative_windows_x86_64.dll
./META-INF/native/libnetty_tcnative_linux_aarch_64.so
./META-INF/native/libnetty_tcnative_osx_x86_64.jnilib
those native/* libs are causing trouble when mixing netty versions.
What you are trying to do
I'm trying to move from using the mockserver-netty dependency to the mockserver-netty-no-dependencies artifact, so that I can upgrade libraries (eg: json-unit to 3.0.0) without causing trouble to mockserver itself.
MockServer version 5.15.0
To Reproduce use a newer netty-tcnative version together with mockserver-netty-no-dependencies.
- Running as JUnit with manual instantiation
Expected behaviour I would expect netty-tcnative not to be included in the shaded jar, nor any other native lib, as those cannot be shaded properly the same as other JARs (not sure if there are different techniques to relocate such resources...).
netty is a very common dependency, and it will be a common case unfortunately.