我有以下项目结构
MyProject
projA
projB
build.gradle
gradlew.bat
build.gradle
gradlew
settings.gradle
我有以下任务MyProject/projB/build.gradle
def process;
task bootRunStartDaemon() {
doFirst {
println("Starting application it profile")
ProcessBuilder builder = new ProcessBuilder("./gradlew.bat", "bootRun", "--args='--spring.profiles.active=it'")
builder.redirectErrorStream(true)
builder.directory(projectDir)
process = builder.start()
}
}
但是,当我> gradlew bootRunStartDaemon
从根目录运行时,出现以下错误
Caused by: org.gradle.api.UncheckedIOException: java.io.IOException: Cannot run program "./gradlew.bat" (in directory "MyProject\projB"): CreateProcess error=2, The system cannot find the file specified
at org.gradle.internal.UncheckedException.throwAsUncheckedException(UncheckedException.java:62)
我在下面settings.gradle
....
rootProject.name = "MyProject"
include "projA", "projB"
我通过添加如下路径来运行 gradlew.bat 。因为 gradlew.bat 脚本只存在于根文件夹下。
ProcessBuilder builder = new ProcessBuilder(projectDir.toString().replace("projB","") + gradleCommand, "bootRun", "--args='--spring.profiles.active=it'")
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句