我有以下用于创建Debian归档文件的gradle任务:
val packDeb by tasks.registering(Deb::class) {
mkdir("/var/lib/salam/")
}
但是当我运行
./gradlew build
时出现以下错误org.gradle.api.UncheckedIOException: Failed to create directory '/var/lib/salam'
我在这里做错了什么?
最佳答案
您正在使用的 mkdir
method不是Deb
任务的一部分(而是来自project
对象)。在配置Gradle项目时调用该方法,即Gradle尝试在Gradle启动时创建该目录。这很可能失败,因为运行Gradle的用户帐户在/var/lib
下没有写权限。
要在安装DEB软件包时创建该目录,可以执行以下操作:
plugins {
id("nebula.deb") version "6.2.0"
}
import com.netflix.gradle.plugins.deb.Deb
val packDeb by tasks.registering(Deb::class) {
into("/")
// TODO assumes that the (non-empty) "salam" dir is prepared in your
// project dir
from("salam") {
into("var/lib/salam")
}
}
关于gradle - 在Debian文件创建任务中创建目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56194149/