代码之家  ›  专栏  ›  技术社区  ›  Swapnil Kotwal

Gradle在testRunTime期间排除本地jar

  •  0
  • Swapnil Kotwal  · 技术社区  · 4 年前

    Gradle jar 目标需求 javaee-api-*.jar 作为一个 compile

    dependencies {
    
        compile fileTree(dir: '../lib', include: ['/**/javaee-api-*.jar'])
    
    }
    

    但是,在 Gradle test 我需要处决 dependencies 如下所示。。。

    dependencies {
    
        compileOnly fileTree(dir: '../lib', include: ['/**/javaee-api-*.jar'])
    
    }
    

    testRunTime ?

    0 回复  |  直到 4 年前
        1
  •  0
  •   Swapnil Kotwal    4 年前

    javaee-api-*.jar project.sourceSets.test.runtimeClasspath.filter

    补充 作为编译依赖项

    dependencies {
    
        compile fileTree(dir: '../lib', include: ['/**/javaee-api-*.jar'])
    
    }
    

       sourceSets {
    
          ....
        
        test {
            runtimeClasspath = project.sourceSets.test.runtimeClasspath.filter {
                !it.path.endsWith('oraclejavaee/javaee-api-6.0.jar')
            }
            java.srcDir project(':test-framework').file("src")
            resources.srcDirs project(':test-framework').file("config")
        }
      }
    
    

    和添加 dependOn

    test {
        dependsOn(testClasses)
        useTestNG() { //Tells Gradle to use TestNG
            useDefaultListeners = true // Tells TestNG to execute its default reporting structure
            suites 'test/testng.xml' //location of our suite.xml
        }
    }