首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在模块-info类中提供但未导出或使用警告的服务接口。

在模块-info类中提供但未导出或使用警告的服务接口。
EN

Stack Overflow用户
提问于 2017-08-25 05:44:21
回答 1查看 342关注 0票数 4

Java9 - jdk-9+181 intelliJ - 2017.2.2于2017年8月9日建成

java.management.rmimodule-info.java实现有点像:

代码语言:javascript
运行
复制
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语句,我必须看到一个编译器警告

提供但未导出或使用的服务接口

最后,当我尝试在另一个模块中使用这些内容时,我猜错了:

代码语言:javascript
运行
复制
module interactor {
    requires java.management.rmi;
    uses javax.management.remote.JMXConnectorProvider;
}

这一警告仍然存在。

此外,我还可以访问java.management的模块来查找

代码语言:javascript
运行
复制
uses javax.management.remote.JMXConnectorProvider;
uses javax.management.remote.JMXConnectorServerProvider;

这个警告的原因是什么?如何解决这个问题?

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-07 18:43:50

对于任何未来的引用,由于IntelliJ更新中的一些回归,这可能是相关的,我自己回答。

这是IntelliJ的一个bug,在IDEA-178041上被跟踪,结果是:

从用于生成警告的模块图中省略一些JDK或库模块。

更新2017年9月7日

IntelliJ IDEA 2017.3 EAP构建已经解决了这个问题。

代码语言:javascript
运行
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45875078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档