New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve shading #2835
base: master
Are you sure you want to change the base?
Improve shading #2835
Conversation
Should these warnings disappear or what is the exact purpose?
|
That's a different story as we're mixing javax and jakarta in our dependencies. Both provide the same API, so we end up with overlapping classes. (Background: https://www.baeldung.com/java-enterprise-evolution) My changes enable Multi-Release functionality which allows dependencies to make use of newer Java APIs at runtime. You can extract the shaded jar and check the I'm also removing any
|
Any objections? |
What does this mean? I don't want to break something and I do not see an advantage at the moment.
Thanks for this clarification. |
See https://openjdk.org/jeps/238. The JVM is capable since version 9 to load alternative class implementations targeting different Java versions. The is all transparently handled by the JVM. e.g. you could ship a jar that still works with Java 8 but provides an alternative implementation for a class that uses Java 17 features. While GH might not use this mechanism itself, we break it for our shaded dependencies that might require it. |
An example where this caused problems in the past: komoot/photon#731 |
module-info.class
during shading