可以使用你的帮助:
尝试在Groovy中执行ant任务,以便它不会等待脚本的响应(即在后台运行)
我尝试了以下两种方法但没有成功
//Cannot find script
ant.exec(failonerror: "true", executable: "scriptname.sh &")
// Says: You have used an attribute or nested element which is not compatible with spawn
ant.exec(failonerror: "true", spawn:"true", executable: "scriptname.sh")
有关如何完成此任务的任何建议?我搜索过谷歌,但找不到Groovy的任何好例子。
谢谢你们,我感谢你的帮助。
答案 0 :(得分:1)
<强> script.sh 强>
#!/bin/bash
cat > foo.conf << EOF
NameVirtualHost 127.0.0.1
<VirtualHost 127.0.0.1>
ServerName localhost
</VirtualHost>
EOF
<强>的build.gradle 强>
task external << {
ant.exec(spawn:'true', executable: "${project.projectDir}/script.sh")
}
build.gradle
和script.sh
必须位于此解决方案的同一文件夹中。您需要提供executable
的完整路径。
答案 1 :(得分:0)
我没有试图弄清楚在文档有限的AntBuilder中如何做到这一点,而是创建了第二个shell脚本,它在后台执行了所需的shell脚本。
#!/bin/bash
command="./scriptname.sh $1 $2 $3 $4"
nohup $command > /dev/null 2>&1 &