Directory 从gradle中的生成目录运行脚本

Directory 从gradle中的生成目录运行脚本,directory,gradle,Directory,Gradle,我想运行一个脚本,该脚本位于“build”目录下的“build/classes”目录中。因为,我的脚本引用了一个文件,其路径相对于构建目录。是否可以让gradle切换到JavaExec类型的特定任务内的构建目录?下面是构建文件的片段 task myrun(type:JavaExec) { main = 'peep' args '3' classpath sourceSets.test.runtimeClasspath classpath so

我想运行一个脚本,该脚本位于“build”目录下的“build/classes”目录中。因为,我的脚本引用了一个文件,其路径相对于构建目录。是否可以让gradle切换到JavaExec类型的特定任务内的构建目录?下面是构建文件的片段

task myrun(type:JavaExec) {     
    main = 'peep'
    args  '3'     
    classpath sourceSets.test.runtimeClasspath
    classpath sourceSets.main.runtimeClasspath
}
peep脚本需要一个存在于生成目录中的文件。因此,我考虑在任务“myrun”中切换到“build”目录


有什么帮助吗?

根据gradle.org/docs/current/dsl/org.gradle.api.tasks.JavaExec.html有
workingDir
参数。它的默认值是project dir

解决办法是:

task myrun(type:JavaExec) {     
    main = 'peep'
    args  '3'     
    classpath sourceSets.test.runtimeClasspath
    classpath sourceSets.main.runtimeClasspath
    workingDir = buildDir
}

根据有workingDir参数。默认值是projectdir。因此,您应该将其更改为
build
Yes,添加workingDir=buildDir,worked。谢谢,不客气。如果不是重复的话,我会将注释转换为答案