我正在看的Gradle文件
implementation project(path: ':module_1')
要么
implementation project(':module_2')
我期望它们是相同的,因为
project
被定义为Project project(String path)
。我错了吗?如果不是,那么Groovy如何实现上面的语法(忽略path
参数)?谢谢,
洛伦佐
最佳答案
第一没有写法
implementation project(path ':module_1')
这里缺少
:
:implementation project(path:':module_1')
现在,这是一种有效的常规语法,这意味着传入了
Map
文字(带有省略的括号)。在bad'ol java中,您必须编写:
Map<String,String> map = new HashMap<>();
map.put( "path", ":module_1" );
implementation( project( map ) );
或者在Groovy中:
implementation project( [ path:':module_1' ] )
当映射仅包含
project(String)
对时,project(Map)
和path
方法似乎相同。有关更多详细信息,请参见the API-docs section。
关于gradle - Gradle的Groovy语法:项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59846870/