gpt4 book ai didi

java - gradle的配置编译和运行时

转载 作者:搜寻专家 更新时间:2023-10-31 19:44:38 24 4
gpt4 key购买 nike

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

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

有人可以向我解释一下 from、configuration.compile.collect、runtime、isDirectory 和 zipTree 的作用吗?我查找谷歌,但找不到任何答案。我真的是 gradle 的新手

最佳答案

对于初学者,您不需要同时使用 configurations.compileconfigurations.runtime。在 gradle 中,编译时依赖项已经自动包含在运行时配置中——这使得编译成为运行时的一个子集。根据您要实现的目标,您只需要其中之一。那么让我们看一下这个片段:

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

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

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

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

( See zipTree reference here )

将所有内容放在一起,代码将获取所有编译时依赖目录和所有解压的编译时 jar,并将其包含到您正在构建的 jar 中。

关于java - gradle的配置编译和运行时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35119009/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com