繁体   English   中英

gradle的配置编译和运行时

[英]Configuration compile and runtime for gradle

我在jar中为我的jar引用设置了一个类路径。('classpath:'wee.jar'),但显然,我还需要在我的jar任务中输入以下内容

from {
    configurations.compile.collect {
        it.isDirectory() ? it : zipTree(it)
    }
    configurations.runtime.collect {
        it.isDirectory() ? it : zipTree(it)
    }

有人可以向我解释一下,configuration.compile.collect,runtime,isDirectory和zipTree是做什么的? 我查了谷歌,但找不到任何答案。 我真的很傻

对于初学者,您不需要configurations.compileconfigurations.runtime 在gradle中,编译时依赖项已经自动包含在运行时配置中 - 这使得编译成为运行时的子集。 根据你想要达到的目标,你只需要一个或另一个。 让我们来看看这个片段:

configurations.compile.collect {
    it.isDirectory() ? it : zipTree(it)
}

配置表示工件及其依赖项的集合。 compileruntime属于java插件添加的配置。 collect is groovy for:对集合的每个元素执行以下操作,并将结果作为集合返回。 因此,有效的代码行转换为 - 对于configurations.compile声明的所有依赖项,执行以下操作并将结果作为集合返回。

it是迭代器的常规简写 - 所以它代表了上述集合的每个元素。

if `it` is a directory
    include it as is, 
else
    unpack the file and then include it

请参阅zipTree参考

将整个事物放在一起,代码将所有编译时依赖目录和所有解压缩的编译时间jar包括在你正在构建的jar中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM