Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gradle 6、Gradle测试套件和复制策略。包括警告_Gradle - Fatal编程技术网

Gradle 6、Gradle测试套件和复制策略。包括警告

Gradle 6、Gradle测试套件和复制策略。包括警告,gradle,Gradle,自从将Gradle升级到版本6后,我注意到与我用TestKit实现的功能测试相关的新警告。我很清楚如何摆脱它们。目前尚不清楚的是,它们为什么会出现在第一位,以及它们在功能测试环境中的相关性如何 以下是我能想到的复制该问题的最小项目: 相关的build.gradle: plugins { id 'java' id 'java-gradle-plugin' } sourceSets { functionalTest { java {

自从将Gradle升级到版本6后,我注意到与我用TestKit实现的功能测试相关的新警告。我很清楚如何摆脱它们。目前尚不清楚的是,它们为什么会出现在第一位,以及它们在功能测试环境中的相关性如何

以下是我能想到的复制该问题的最小项目:

相关的
build.gradle

plugins {
    id 'java'
    id 'java-gradle-plugin'
}

sourceSets {
    functionalTest {
        java {
            srcDir file('src/functionalTest/java')
        }
        resources {
            srcDir file('src/functionalTest/resources')
        }
        compileClasspath += sourceSets.main.output + configurations.testRuntimeClasspath
        runtimeClasspath += output + compileClasspath
    }
}

task functionalTest(type: Test) {
    testClassesDirs = sourceSets.functionalTest.output.classesDirs
    classpath = sourceSets.functionalTest.runtimeClasspath
}

check.dependsOn functionalTest

gradlePlugin {
    testSourceSets sourceSets.functionalTest
}

group 'org.example'
version '1.0-SNAPSHOT'

sourceCompatibility = 1.8
targetCompatibility = 1.8

repositories {
    mavenCentral()
    jcenter()
}

dependencies {
    testImplementation gradleTestKit()
    testImplementation 'org.testng:testng:7.1.1'
}

// uncomment to get rid of warnings
//processFunctionalTestResources {
//    duplicatesStrategy = DuplicatesStrategy.INCLUDE
//}

您可以通过以下方式重现问题:

/gradlew clean functionalTest--所有警告模式

输出:

Copying or archiving duplicate paths with the default duplicates strategy has been deprecated. This is scheduled to be removed in Gradle 7.0. Duplicate path: "build.gradle". Explicitly set the duplicates strategy to 'DuplicatesStrategy.INCLUDE' if you want to allow duplicate paths. Consult the upgrading guide for further information: https://docs.gradle.org/6.2.1/userguide/upgrading_version_5.html#implicit_duplicate_strategy_for_copy_or_archive_tasks_has_been_deprecated
Copying or archiving duplicate paths with the default duplicates strategy has been deprecated. This is scheduled to be removed in Gradle 7.0. Duplicate path: "settings.gradle". Explicitly set the duplicates strategy to 'DuplicatesStrategy.INCLUDE' if you want to allow duplicate paths. Consult the upgrading guide for further information: https://docs.gradle.org/6.2.1/userguide/upgrading_version_5.html#implicit_duplicate_strategy_for_copy_or_archive_tasks_has_been_deprecated

BUILD SUCCESSFUL in 1s
6 actionable tasks: 6 executed
它基本上是针对在
src/functionalTest/resources
中找到的每个文件打印一条警告

有人能帮助我了解此警告试图保护我免受的风险是什么,以及为什么根据官方指南设置的功能测试配置会显示与复制或归档任务相关的内容

您的(派生)任务
processFunctionalTestResources
,该任务具有DuplicatesStrategy属性,如果没有明确定义,它将显示警告

现在我自己在执行
war
ear
任务时遇到了这种情况

从:

默认情况下,存档任务Tar和Zip允许创建的存档中存在同一路径的多个条目。这可能导致“严重无效的zip文件”,从而触发zip炸弹检测