我有一个 OSGI 应用程序,并且有大约 30 个包(jar 文件)。今天我决定看看它是如何工作的/它是否适用于 Java 9。
所以我开始了我的申请并得到了
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
经过一番阅读,我添加了命令行选项
--add-exports java.base/java.net=org.apache.felix.framework
并创建了具有以下内容的文件 module-info.java:
module org.apache.felix.framework { }
我有两个问题。我应该把这个 module-info.java 放在哪里让 jvm 读取它?我应该如何将此模块信息与org.apache.felix.framework-5.4.0.jar
文件/捆绑包/jar绑定?
如果我做错了,请告诉我解决这个问题的正确方向。