2017-02-07 10 views
0

新しくJavaアプリケーションをビルドするGradle Tasksが必要です。また、log/soutをservicedispatcher.outというファイルに出力する必要があります。問題は、Gradleが、このタスクをcopyDistributionsToDestinationに依存させることさえできます(これはエラーが発生したファイルパスを作成してしまいます)。タスク依存性の前にTasksコードを評価します。この方法では、このパスをログ出力パスとして定義する機会はありません。これを回避するには何ができますか?たぶん、実行フェーズでファイルの作成を行うGradle Tasksはまだ存在してはいけないファイルに依存します

FAILURE: Build failed with an exception. 

* Where: 
Build file 'C:\Development\Testzone\toolbox-backend\build.gradle' line: 75 

* What went wrong: 
A problem occurred evaluating root project 'toolbox-backend'. 
> Das System kann den angegebenen Pfad nicht finden 

* Try: 
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. 

BUILD FAILED 

Total time: 3.32 secs 
Das System kann den angegebenen Pfad nicht finden 
19:19:48: External task execution finished ':startToolbox'. 

答えて

0

task startDispatcher(type:Exec){ 
    workingDir = "servicedispatcher/bin/" 
    commandLine "cmd", "/c", "servicedispatcher.bat" 
    File logFile = file("${workingDir}/log/toolbox-components-servicedispatcher.out") 
    if(logFile.exists() == false){ 
     logFile.createNewFile() // Line 75 of error message 
    } 
    standardOutput = new FileOutputStream("${workingDir}/log/servicedispatcher.out") 
} 

task startToolbox(){ 
    group "Toolbox" 
    dependsOn copyDistributionsToDestination 
    dependsOn startDispatcher 
} 

startDispatcher.mustRunAfter("copyDistributionsToDestination") 

エラーメッセージ:

次のコードを考えると?同様に

タスクが実行されていない場合は作成されません。現在のコードでは、設定フェーズで実行します。タスクが実行されるかどうかにかかわらず、Gradleを起動すると、このファイルは常に作成されます。

+0

私のlogFileは、** Exec **タイプの** workingDir **プロパティによって定義された相対パスで作成されるという問題があります。 doFirstには "Exec"タイプの機能がないので、** doFirst **関数に呼び出すことはできません。絶対パスを使用することは解決策ではありません。また、** buildDir **プロパティは、デプロイメントの試行のために、** production **というフォルダにファイルをコピーしているので、役に立たないでしょう。 – xetra11

+0

なぜ、あなたはそのファイルのworking dirプロパティを使用できないはずですか?実行時にタスク?もちろん可能です。また、そうでない場合でも、すでに設定時にlogFile変数を定義することはできません。私の例でわかるように、私は実行段階にその行を入れませんでした。もちろん、意味をなさないでしょう。実行段階で既にその呼び出しを行う必要はありません。 – Vampire

関連する問題