2017-08-06 11 views
0

私はここでこのドキュメントを参照しています:https://docs.gradle.org/3.4.1/dsl/org.gradle.api.tasks.Exec.htmlここではtomcatをオフ/オンする方法の例を示します。tomcatを終了するためのGradle Execタスク

ただし、commandLineがどのようなパラメータを期待しているのかはよく分かりません。

したがって、以下のコードは失敗しています。あなたは何か考えを共有してください。

task stopTomcat(type:Exec) { 
    println "$System.env.TOMCAT" 

    workingDir "${System.env.TOMCAT}" + '/bin/' 

    //on windows: 
    commandLine './catalina.sh stop' 

    //on linux 
    //commandLine './stop.sh' 

    //store the output instead of printing to the console: 
    standardOutput = new ByteArrayOutputStream() 

    //extension method stopTomcat.output() can be used to obtain the output: 
    ext.output = { 
     return standardOutput.toString() 
    } 
} 

私は上記のように、私のタスクを設定しているが、私は、タスクを実行すると、それは失敗しません。 net.rubygrapefruit.platform.NativeException:によって引き起こさ

できませんでした 開始

答えて

1

'を停止./catalina' は、WindowsまたはUnixを使用していますか?

通常、プラットフォーム上のコマンドライン端末で適切なコマンドを特定する必要があります。次に、Gradleタスクで適切な「プラットフォームスタイル」を使用します。

たとえば、Tomcat 7.xがあります。 Unix上でシャットダウンするには、端末を$TOMCAT_HOME/binにして、./shutdown.shを使用します。この場合、タスクは使用します。

commandLine './shutdown.sh' 

Windows上で、私はshutdown.batを使用します。この場合は、タスクが使用します。BATファイルを呼び出すためにcmdを使用していることを

commandLine 'cmd', '/c', 'shutdown.bat' 

注意を。 Windowsが動作する方法のため、commandLineはBATファイルに対してその形式を持ちます。

関連する問題