Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java gradleexec任务停止tomcat_Java_Tomcat_Gradle_Cmd_Gradlew - Fatal编程技术网

Java gradleexec任务停止tomcat

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” //存储输出,

我在这里查看这个文档:它给出了一个如何关闭/打开tomcat的示例

然而,它并没有很好地解释commandLine所期望的参数

因此,下面的代码失败了。你能分享一些想法吗

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文件的命令行都会采用这种形式