【发布时间】:2020-11-25 11:09:51
【问题描述】:
我的 jar 目录结构如下。
myDir
- /util/Util.jar
- /abcd/abcd.jar
- /parsing_jars/pars.jar
预期的anotherDir 结构应如下所示
anotherDir
- Util.jar
- abcd.jar
- pars.jar
我将以下语法用于我的复制任务
task('copyUtil', type: Copy) {
fileTree("$projectDir/myDir").each { file ->
if (file.isFile())
from file
}
include 'Util.jar', 'abcd.jar', 'pars.jar'
into "anotherDir"
}
它工作正常,但如果我在属性文件中定义变量为
MY_VAR = '"Util.jar", "abcd.jar", "pars.jar"'
它将它视为一个完整的字符串,不包含任何文件。如何将这个MY_VAR 提供给copy 任务如下?
task('copyUtil', type: Copy) {
fileTree("$projectDir/myDir").each { file ->
if (file.isFile())
from file
}
include "${MY_VAR}"
into "anotherDir"
}
请注意:我试图将该字符串转换为List 或Array 两者都不起作用...基本上它需要逗号分隔的args..include Javadoc 说@ 987654333@
如下所示在这里不起作用:
def String[] tasksToUseAsDefault = "${SOME_VAR}".split(',')
或者
def list = Arrays.asList("${SOME_VAR}".split("\\s*,\\s*"));
【问题讨论】:
-
不,我试图将该字符串转换为
List或Array两者都不起作用...基本上它需要逗号分隔的args ..includeJavadoc 说public AbstractCopyTask include(String... includes)