java - 有没有办法为 gradle 中新创建的源集指定依赖项?

标签 java dependency-management gradle

在 gradle 中,我创建了一个新的 sourceSet 用于服务测试,如下所示:

sourceSets{
    servicetest{
        java.srcDirs = [//path to servicetests]
    }
}

这个源集依赖于 TestNG,所以我希望通过做类似的事情来降低依赖性:

dependencies{
    servicetest(group: 'org.testng', name: 'testng', version: '5.8', classifier: 'jdk15')
}

不幸的是,这会返回一个错误。有什么方法可以为特定的 sourceSet 声明依赖关系,还是我运气不好?

最佳答案

最近的 Gradle 版本自动为每个源集“foo”创建和连接配置“fooCompile”和“fooRuntime”。

如果您仍在使用旧版本,您可以声明自己的配置并将其添加到源集的 compileClasspath 或 runtimeClasspath 中。像这样的东西:

configurations {
    serviceTestCompile
}

sourceSets {
    serviceTest {
        compileClasspath = configurations.serviceTestCompile
    }
}

dependencies {
    serviceTestCompile "org.testng:testng:5.8"
}

关于java - 有没有办法为 gradle 中新创建的源集指定依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8791977/

相关文章:

java - 从不同字符的字符串返回整数

java - Selenium 服务器在被 SIGTERM 杀死后不绑定(bind)到套接字

java - 存储变量以在 Java 中的 View /页面之间安全传递

android - jar 中的 apklib 有什么优势?

gradle - 在任务执行时更改任务属性

java - 使用 Twitter Streaming Api 时出现 Scribe java 错误

svn - 同步版本控制和工件存储库

java - 如何在 Jenkins/Maven 构建中管理 jre/lib/ext jar?

selenium - 如何添加Gradle Kotlin依赖编译组: 'org.seleniumhq.selenium' ?

android-studio - 如何从项目中创建.Jar文件? Gradle和Android Studio