当我尝试在gradle.properties文件中编写如下内容时:

defaultTasks=['deploy']

我收到下一条消息:
BUILD FAILED
FAILURE: Build failed with an exception.


* What went wrong:
Cannot cast object '['deploy']' with class 'java.lang.String' to class 'java.util.List'

最佳答案

我想,这是不可能的,因为这是纯Java属性,默认情况下该属性值为String。但是您可以在脚本中添加一些初始化逻辑,以读取自定义属性并使用它们来初始化defaultTasks属性。

将自定义属性添加到gradle.properties文件中

extDefaultTasks=temp1,temp2
temp1temp2是任务名称(此任务应该存在)。然后在构建脚本中,读取此属性,对其进行解析,并使用它初始化defaultTasks:
//load custom property value and split it into the task names
def String[] tasksToUseAsDefault = extDefaultTasks.split(',')
//use task names to initialize defaultTasks
tasksToUseAsDefault.each {defaultTasks.add(it.trim())}

为了在构建的配置阶段完成此配置,应将其添加到脚本的根目录中

09-18 10:56