如果命令采用其他形式,是否可以在Windows和Mac上执行任务?例如:

task stopTomcat(type:Exec) {

    // use this command line if on Windows
    commandLine 'cmd', '/c', 'stop.cmd'

    // use the command line if on Mac
    commandLine './stop.sh'
}

您将如何在Gradle中做到这一点?

最佳答案

您可以根据系统属性的值有条件地设置commandLine属性。

if (System.getProperty('os.name').toLowerCase(Locale.ROOT).contains('windows')) {
    commandLine 'cmd', '/c', 'stop.cmd'
} else {
    commandLine './stop.sh'
}

10-04 18:24