这个问题在这里已有答案:
现在,对于我拥有的每个模块,我需要明确指定要导出的包。例如:
module core {
exports cc.blynk.server.core;
exports cc.blynk.server.core.protocol.handlers.decoders;
exports cc.blynk.server.core.protocol.handlers.encoders;
}
但是,它不是很方便。我想做那样的事情:
module core {
exports cc.blynk.server.core.*;
}
有没有办法做到这一点?这种限制来自哪里?
用法
module core {
exports cc.blynk.server.core.*;
}
不鼓励,因为这可能主要导致从不同模块导出的不同包中的冲突,这违反了模块化代码的目的。
另外引用其中一个主题:
模块导出的包旨在成为消费者可以依赖的稳定API。出于这个原因,我们让模块作者明确地拼出导出的包。这也减少了多个模块不必要地导出相同包的可能性。此外,它避免了如果
com.abs.*
在没有资格的情况下出口而com.abs.foo
被出口并具有资格而可能出现的混乱。