【发布时间】:2018-02-14 03:08:11
【问题描述】:
我有一个 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 绑定?
如果我做错了,请告诉我解决这个问题的正确方向。
【问题讨论】:
-
这可能不值得回答,但如果有帮助,here 是 Java 9 中的一个小例子。请参阅 OSGi (Java 8) 中的版本链接。
标签: java osgi apache-felix java-9 java-platform-module-system