Java gradleexec任务停止tomcat
我在这里查看这个文档:它给出了一个如何关闭/打开tomcat的示例 然而,它并没有很好地解释commandLine所期望的参数 因此,下面的代码失败了。你能分享一些想法吗Java gradleexec任务停止tomcat,java,tomcat,gradle,cmd,gradlew,Java,Tomcat,Gradle,Cmd,Gradlew,我在这里查看这个文档:它给出了一个如何关闭/打开tomcat的示例 然而,它并没有很好地解释commandLine所期望的参数 因此,下面的代码失败了。你能分享一些想法吗 task stopTomcat(类型:Exec){ println“$System.env.TOMCAT” workingDir“${System.env.TOMCAT}”+'/bin/' //在windows上: 命令行“/catalina.sh stop” //在linux上 //命令行“/stop.sh” //存储输出,
task stopTomcat(类型:Exec){
println“$System.env.TOMCAT”
workingDir“${System.env.TOMCAT}”+'/bin/'
//在windows上:
命令行“/catalina.sh stop”
//在linux上
//命令行“/stop.sh”
//存储输出,而不是打印到控制台:
standardOutput=new ByteArrayOutputStream()
//扩展方法stopTomcat.output()可用于获取输出:
外部输出={
返回standardOutput.toString()
}
}
我已按上述方式配置了任务,但在运行任务时它确实失败
原因:net.rubygrapefrait.platform.NativeException:无法
开始“/catalina停止”
您使用的是Windows还是Unix 通常,您需要在平台上的命令行终端上确定适合您的命令。然后在Gradle任务中使用适当的“平台风格” 例如,我有Tomcat 7.x。要在Unix上关机,使用
$TOMCAT_HOME/bin
中的终端,我将使用/shutdown.sh
。在这种情况下,任务将仅使用:
commandLine './shutdown.sh'
在Windows上,我会使用shutdown.bat
。在这种情况下,任务将使用:
commandLine 'cmd', '/c', 'shutdown.bat'
请注意,它正在使用cmd
调用BAT文件。由于Windows的工作方式,任何BAT文件的命令行都会采用这种形式