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
Removes Illegal reflective access of DelegatingClassLoader #8355
Conversation
under JDK 9+ DelegatingClassLoader raised an Illegal reflective access error. By changing ApplicationClassLoaderProvider to use an URLClassLoader the whole reflective access can be removed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a good idea even if we didn't get any Java 9 errors. Thanks!
@Schmith Is there an issue raised on guice side already, or should I create one? |
There is: google/guice#1133 |
What version of Play Framework will be patched from this merge? |
@unistylist, aiming for 2.6.14 - see #8420. |
Align Maven implementation with original Playframework! code - change: playframework/playframework@e6ed774 playframework/playframework#8355 playframework/playframework#8350
Helpful things
Fixes
Fixes #8350
Purpose
under JDK 9+ DelegatingClassLoader raised an Illegal reflective access
error.
By changing ApplicationClassLoaderProvider to use an URLClassLoader
the whole reflective access can be removed.
Background Context
Currently nobody uses
ApplicationClassLoaderProvider
with a differentClassLoader
than anURLClassLoader
. I even checked Lagom and they basically have the same classes than Play which also implement and URLClassLoader. Gradle does not use anything fromplay.runsupport
.After that PR on sbt 1.1.2 and master Branch we would still see (and of course we still need to add jaxb):
But that can't be fixed on our side