Gradle 应用程序插件:修改workingDir 属性

RAn*_*s00 3 java gradle gradlew

我只想修改程序运行的目录。通常,它从项目根目录运行,这让我有点恼火,因为测试程序可能很烦人,因为我的程序会在运行时生成文件和文件夹。

一个JavaExec任务都有一个叫做财产JavaExec#workingDir,这将是我想改变我的选择的不同的东西这个确切性质。

我的问题是:如何修改gradle run任务以访问此属性?

RAn*_*s00 5

您可以使用 访问任务的属性tasks.<TaskToModify>.property = YourValue

因此,在这种情况下,您必须这样做:

File runningDir = new File('build/run/')
runningDir.mkdirs()
tasks.run.workingDir = runningDir
Run Code Online (Sandbox Code Playgroud)

File#mkdirs()呼叫neccessary,因为如果不存在的目录,呼叫你的系统相关的Java可执行文件会导致错误。