我想定义一个名为dbStatus
的新任务,它调用(或扩展?)run
,并覆盖args
属性。
apply plugin: 'application'
run {
args "server", "service.yml"
}
task(dbStatus, type: run) {
args "db", "status", "service.yml
}
这不起作用,因为"run"
不是有效的任务类。有没有一种快速扩展任务并只覆盖属性的方法?
不幸的是,我不得不定义一个全新的JavaExec
任务,并重新创建run
配置的逻辑。以下是我提出的建议:
task(dbStatus, type: JavaExec) {
main mainClassName
classpath sourceSets.main.runtimeClasspath
args "db", "status", "service.yml"
}
我不认为这与run
完全相同,因为它不是针对我不相信的构建jar
运行的,但它适用于我的目的。
答案 0 :(得分:5)
任务不能延长"通过这种方式。相反,声明另一个任务并根据需要进行配置。 (一次配置多个任务以避免代码重复是很常见的。)