java – 平台模块之间是否允许循环?
发布时间:2020-12-14 16:47:57 所属栏目:Java 来源:网络整理
导读:这是 java.rmi模块的模块声明: module java.rmi { requires java.base; requires java.logging; exports java.rmi.activation; exports com.sun.rmi.rmid to java.base; // -- cycle ...} 所以,java.rmi和java.base之间有一个循环的依赖关系,对吧?周期允许
这是
java.rmi模块的模块声明:
module java.rmi { requires java.base; requires java.logging; exports java.rmi.activation; exports com.sun.rmi.rmid to java.base; // <-- cycle ... } 所以,java.rmi和java.base之间有一个循环的依赖关系,对吧?周期允许在platform modules之间? 解决方法
模块系统禁止使用require语句静态声明循环.这对于平台和应用程序模块是正确的,您给出的示例不违反该规则.
但是,Requires子句只是模块图形中可读性边缘的一个来源.其他都是命令行标志,反射,需要传递,我相信还有更多.添加所有这些可能会导致模块图中的循环,并且不会被禁止. 在具体示例中,只有在java.base读取java.rmi时才会创建循环,如果在com.sun.rmi.rmid中对类使用反射可能会发生这种情况. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |