我知道这个问题的部分答案,但我脑子里还有不清楚的地方!
在Gradle文档中,他们举例说明了4个指令,从而部分回答了这个问题。但除了这4个指令之外,这些指令的等效指令究竟是什么?特别是,“export****directive”在Gradle中对应于什么?
如果我没有看过这篇文档,我会说“export directive”对应于Gradle端的“API”,但对应于“api”的指令是“requires transitive"。
顺便说一下,我从Gradle文档中获取了此表。
表:Java模块指令和Gradle配置之间的Map以声明依赖关系
| Java模块指令|Gradle配置|目的|
| - ------|- ------|- ------|
| 要求|实施|声明实现依赖关系|
| 要求传递|API|声明API依赖项|
| 需要静态|仅编译|声明仅编译依赖项|
| 需要静态传递|仅编译Api|声明仅编译API依赖项|
1条答案
按热度按时间ndasle7k1#
Gradle中没有与
exports
指令等效的指令。exports指令指示模块包的哪些公共类型可由其他模块访问。
您不是在声明与
exports
的依赖关系,而是在声明从您的模块到其他模块可以访问的内容。与现有的类路径系统相比,添加这些限制的能力是模块系统的主要新功能之一。所以,如果你不声明一个模块,所有的东西都会被导出,如果你声明了一个模块,那么它取决于模块的声明。