首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何从最终工件(jar)中排除依赖项,但在gradle中编译和运行单元测试时需要使用该依赖项

在Gradle中,我们可以使用implementationapitestImplementation等配置来管理依赖项。如果我们想要从最终工件(如jar)中排除某个依赖项,但在编译和运行单元测试时需要使用该依赖项,可以按照以下步骤进行操作:

  1. dependencies部分,将需要排除的依赖项配置为implementation,表示它将被包含在最终工件中。
代码语言:txt
复制
implementation 'com.example:dependency:1.0.0'
  1. 使用configurations块创建一个名称为excludeFromJar的新配置,用于排除依赖项。
代码语言:txt
复制
configurations {
    excludeFromJar
}
  1. excludeFromJar配置中,使用exclude方法指定要排除的依赖项。
代码语言:txt
复制
configurations.excludeFromJar('com.example:dependency')
  1. jar任务中,使用from方法和configurations来指定要包含在最终工件中的内容,同时使用exclude方法来排除excludeFromJar配置中指定的依赖项。
代码语言:txt
复制
jar {
    from sourceSets.main.output
    from configurations.runtimeClasspath - configurations.excludeFromJar
}
  1. test任务中,使用dependencies块将excludeFromJar配置中排除的依赖项添加到testImplementation配置中,以确保在编译和运行单元测试时使用该依赖项。
代码语言:txt
复制
test {
    dependencies {
        testImplementation configurations.excludeFromJar
    }
}

完成以上步骤后,使用Gradle进行编译和运行单元测试时,excludeFromJar配置中指定的依赖项将会被排除在最终工件之外,但仍然会在编译和运行单元测试时使用。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券