I have an OSGI application and I have around 30 bundles (jar files). Today I decided to see how it works/if it works with Java 9.
So I started my application and got
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.apache.felix.framework.util.SecureAction (file:/home/.../jar/org.apache.felix.framework-5.4.0.jar) to method java.net.URLClassLoader.addURL(java.net.URL)
WARNING: Please consider reporting this to the maintainers of org.apache.felix.framework.util.SecureAction
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
After some reading I added command line option
--add-exports java.base/java.net=org.apache.felix.framework
and created file module-info.java with the following content:
module org.apache.felix.framework { }
And I have two questions. Where should I place this module-info.java to make jvm read it? How should I bind this module-info with org.apache.felix.framework-5.4.0.jar
file/bundle/jar?
If I do everything wrong please, show me right direction for fixing this problem.