提供了服务接口但未导出或使用模块信息中的警告 class
Service interface provided but not exported or used warning in module-info class
Java9 - jdk-9+181
intelliJ - 2017.2.2 built on August 9,2017
java.management.rmi
的 module-info.java
实现有点像:
module java.management.rmi {
...
requires transitive java.management;
exports com.sun.jmx.remote.protocol.rmi to java.management;
provides javax.management.remote.JMXConnectorProvider with
com.sun.jmx.remote.protocol.rmi.ClientProvider;
provides javax.management.remote.JMXConnectorServerProvider with
com.sun.jmx.remote.protocol.rmi.ServerProvider;
}
对于 provides
这两个语句,我都看到一个编译器警告,说明
Service interface provided but not exported or used
当我尝试在另一个模块中使用它们时,我最终猜错了:
module interactor {
requires java.management.rmi;
uses javax.management.remote.JMXConnectorProvider;
}
警告仍然存在。
此外,我还可以到达java.management
的模块找到
uses javax.management.remote.JMXConnectorProvider;
uses javax.management.remote.JMXConnectorServerProvider;
仍然出现此警告的原因是什么,如何解决?
根据评论中的要求附上截图:
对于任何未来的参考,由于 IntelliJ 更新中的一些回归,这可能是相关的,我自己回答这个问题。
这是 IntelliJ 的一个错误,在 IDEA-178041 被跟踪,导致:
omitting some JDK or library modules from a module graph used to generate
warnings.
2017 年 9 月 7 日更新
此问题已通过 IntelliJ IDEA 2017.3 EAP build 修复。
IntelliJ IDEA 2017.3 EAP (Community Edition)
Build #IC-173.2099.14, built on September 6, 2017
JRE: 1.8.0_152-release-915-b11 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Java9 - jdk-9+181 intelliJ - 2017.2.2 built on August 9,2017
java.management.rmi
的 module-info.java
实现有点像:
module java.management.rmi {
...
requires transitive java.management;
exports com.sun.jmx.remote.protocol.rmi to java.management;
provides javax.management.remote.JMXConnectorProvider with
com.sun.jmx.remote.protocol.rmi.ClientProvider;
provides javax.management.remote.JMXConnectorServerProvider with
com.sun.jmx.remote.protocol.rmi.ServerProvider;
}
对于 provides
这两个语句,我都看到一个编译器警告,说明
Service interface provided but not exported or used
当我尝试在另一个模块中使用它们时,我最终猜错了:
module interactor {
requires java.management.rmi;
uses javax.management.remote.JMXConnectorProvider;
}
警告仍然存在。
此外,我还可以到达java.management
的模块找到
uses javax.management.remote.JMXConnectorProvider;
uses javax.management.remote.JMXConnectorServerProvider;
仍然出现此警告的原因是什么,如何解决?
根据评论中的要求附上截图:
对于任何未来的参考,由于 IntelliJ 更新中的一些回归,这可能是相关的,我自己回答这个问题。
这是 IntelliJ 的一个错误,在 IDEA-178041 被跟踪,导致:
omitting some JDK or library modules from a module graph used to generate warnings.
2017 年 9 月 7 日更新
此问题已通过 IntelliJ IDEA 2017.3 EAP build 修复。
IntelliJ IDEA 2017.3 EAP (Community Edition)
Build #IC-173.2099.14, built on September 6, 2017
JRE: 1.8.0_152-release-915-b11 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o