gpt4 book ai didi

java - 问题 - 使用 gradle 创建目录不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:09:57 24 4
gpt4 key购买 nike

我有以下 build.gradle:

task wrapper(type: Wrapper) {
gradleVersion = '2.0'
}

apply plugin: 'java'

task filter(type: Copy) {
def subdir = new File(project.buildDir, "subdir")
println("subdir: "+subdir)

if( !subdir.exists() ) {
println("creating subdir")

if(subdir.mkdirs()) {
println("succeeded in making folder")

if(subdir.exists()) {
println("folder exists")
} else {
println("folder does not exist")
}
} else {
println("failed to make folder")
}
} else {
println("folder exists already")
}
}

使用 gradle wrapper 下载包装器后,我运行:

/tmp/test $ ./gradlew clean filter
subdir: /tmp/test/build/subdir
creating subdir
succeeded in making folder
folder exists
:clean
:filter UP-TO-DATE

BUILD SUCCESSFUL

Total time: 4.121 secs

这似乎表明一切顺利。然而,当我仔细检查时,我得到了这个:

/tmp/test $ ls -l /tmp/test/build/subdir
ls: /tmp/test/build/subdir: No such file or directory

注释:

  • 这是在 MacOS Mavericks 上。
  • 执行用户能够在 shell 中创建目录。
  • 有足够的磁盘空间。

请告知 Gradle 未能创建目录,但 Gradle 指示创建成功,我在这里可能做错了什么?任何故障排除提示将不胜感激。

谢谢!

最佳答案

可能是复制任务什么也没做,是“最新的”。

13:21:40.045 [INFO] [org.gradle.api.internal.tasks.execution.SkipEmptySourceFile
sTaskExecuter] Skipping task ':filter' as it has no source files.

我认为这是因为复制任务需要一个 from 和 into。

尝试创建一个非复制任务,例如,

task filter() << {
def subdir = new File(project.buildDir, "subdir")
println("subdir: "+subdir)

if( !subdir.exists() ) {
println("creating subdir")

if(subdir.mkdirs()) {
println("succeeded in making folder")

if(subdir.exists()) {
println("folder exists")
} else {
println("folder does not exist")
}
} else {
println("failed to make folder")
}
} else {
println("folder exists already")
}
}

关于java - 问题 - 使用 gradle 创建目录不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25241895/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com