【发布时间】:2021-09-15 14:41:57
【问题描述】:
我有一个 Gradle 项目,在其代码中的某个时间点需要对 Gradle 项目上一层的文件夹执行操作。它需要在其中写入一些数据,如果不存在则创建一个文件。但是,代理是代码的责任,Gradle 所做的只是有一个任务来运行代码。
问题是当我运行 gradle 任务时,jvm 会抛出一个java.nio.File NoSuchFileException。
从 Intellij 的 Run 中运行相同的程序完全按预期执行,所以它不是代码。
我看到的一个重大区别是 Intellij Run 将Working directory 设置在我的 Kotlin 项目之上的级别,而 Gradle 将项目作为 root 指向,这是应该的。
我是 Gradle 新手,我发现文档很难阅读,这让我很困惑。我假设我需要以某种方式告诉 Gradle 代码可能需要访问项目外部文件系统上的文件夹。但是,我不确定是否需要在 settings.gradle.kt 或任务级别以及使用哪个函数。
你能指点我的路吗?
【问题讨论】: