【问题标题】:gradle: Skipping task ': as it has no source files. and does not generate zip filegradle:跳过任务':因为它没有源文件。并且不生成 zip 文件
【发布时间】:2015-08-04 17:06:22
【问题描述】:

我使用的是 Gradle 1.4 版本。我有以下任务。 'createWar' 工作正常并为我生成所需的'war 文件。 但是“createServerPackage”不会生成我的“zip”文件。 下面是我的 build.gradle 文件。有人可以帮我解决这个问题吗?

task createWar(type: War, dependsOn: syncConfiguration){
}
task createServerPackage(type: Zip) {
    description = "Creates the full server.zip package for distribution."
    dependsOn createWar

    String filesDirectory = 'upgradeFiles'

    from("${rootDir.absolutePath}/server/build/libs/adapter.war") {
        into(filesDirectory)
    }

    archiveName 'server.zip'
    destinationDir file(buildDir)
}

下面是编译gradle的sn-p。

 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter] Finished executing task ':createWar'
 [LIFECYCLE] [org.gradle.TaskExecutionLogger] :createWar UP-TO-DATE
 [LIFECYCLE] [org.gradle.TaskExecutionLogger] :createServerPackage
 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter] Starting to execute task ':createServerPackage'
 [INFO] [org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter] Skipping task ':createServerPackage' as it has no source files.
 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter] Finished executing task ':createServerPackage'
 [LIFECYCLE] [org.gradle.TaskExecutionLogger] :createServerPackage UP-TO-DATE

【问题讨论】:

    标签: gradle build.gradle


    【解决方案1】:

    无需自己构建war 路径。应该这样做:

    apply plugin: 'war'
    
    task createWar(type: War)
    
    task createServerPackage(type: Zip) {
        description = "Creates the full server.zip package for distribution."
        dependsOn createWar
    
        String filesDirectory = 'upgradeFiles'
    
        from(createWar.outputs) {
            into(filesDirectory)
        }
    
        archiveName 'server.zip'
        destinationDir file(buildDir)
    }
    

    可以在here找到演示。

    【讨论】:

    • 太棒了!这行得通。我仍然需要一些澄清。 - 我将“任务 createWar(类型:War,dependOn:syncConfiguration){}”更改为“任务 createWar(类型:War,dependOn:syncConfiguration)。这似乎成功了,我的包创建成功了。但是,你能帮我理解为什么吗?
    猜你喜欢
    • 2014-12-25
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 2014-12-31
    • 1970-01-01
    • 2014-08-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多