能否为Gradle run任务设置工作目录?现有尝试遇阻求方案
解决Gradle标准run任务修改工作目录的问题
你可以直接修改Gradle自带的run任务的workingDir属性,无需自定义任务。因为application插件提供的run任务本质就是JavaExec类型,支持配置工作目录:
Groovy DSL 配置
application { mainClass.set("com.myapp.MainClass") } tasks.named('run', JavaExec) { workingDir = file("$buildDir/dist") }
Kotlin DSL 配置
application { mainClass.set("com.myapp.MainClass") } tasks.named<JavaExec>("run") { workingDir = file("$buildDir/dist") }
之前用-Duser.dir没效果,是因为这个系统属性仅为Java层面的逻辑目录,不会改变进程实际的工作目录。直接配置run任务的workingDir才是真正修改Java进程启动时的工作目录,和你自定义runApp任务的原理一致,但复用了标准run任务。
内容的提问来源于stack exchange,提问作者G. Tabs
相关产品推荐
相关产品推荐

