I got this big warning when I run Play project with java 9.
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by play.runsupport.classloader.DelegatingClassLoader (file:/Users/meyer_t/.ivy2/cache/com.typesafe.play/run-support_2.12/jars/run-support_2.12-2.6.12.jar) to method java.lang.ClassLoader.findResource(java.lang.String)
WARNING: Please consider reporting this to the maintainers of play.runsupport.classloader.DelegatingClassLoader
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
The problem here is related to the library "run-support" from Typesafe who use illegal access with reflection. This warning is show when I run the project with "sbt run".
Since the run command runs in sbt’s JVM instance you may need to supply some more JRE arguments when you launch sbt. I’m a bit rusty on this but I think you’re going to need to add an --add-opens option to stop the warning.
And it is only used in dev mode because we do some classloading tricks to have hot reload. I’m not sure we have a good alternative on short-term here. What do you think?
@0xbaadf00d can you confirm if you see this when running in production mode?
On that front I think Guice was recently updated to have Java 9 support. I think we’ve already merged it into Play? Not sure if in master or on the stable branch though.