java - 提供服务接口(interface)但未导出或使用模块信息类中的警告

标签 java intellij-idea java-9 module-info intellij-idea2017

Java9 - jdk-9+181
intelliJ - 2017.2.2 built on August 9,2017

java.management.rmimodule-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;

这个警告仍然存在的原因是什么,如何解决?

根据评论中的要求附上截图:

enter image description here

最佳答案

对于任何 future 的引用,由于 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 构建得到修复。

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

关于java - 提供服务接口(interface)但未导出或使用模块信息类中的警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45875078/

相关文章:

java - Spring 3,将数据从jsp传递到 Controller

java - 如何重新映射某些键?

bash - 如何为 Bash 项目设置模块

java - 无法使用 tomcat 9 在 Intellij 中热交换 html 文件

java - Java 9 模块化应用程序中的 Logback 不起作用

java - 为什么在Java 9中不推荐使用finalize()方法?

java - Android - 在 fragment 中使用连接管理器

intellij-idea - IntelliJ 中的 "watches"是什么以及如何使用它们?

java - 迁移到 Java 9 时,反射 API 没有抛出此类方法异常

java - 特征检测