如何在Gradle中引入带classifier的项目依赖?
解决方案
当然可行,只是你用错了依赖配置。Gradle的test-fixtures是专为测试场景设计的构件,默认不会被包含在主项目构件里,所以需要调整配置:
1. 确保生产者子项目启用test-fixtures插件
在:producer子项目的build.gradle(或build.gradle.kts)中启用java-test-fixtures插件,这是生成test-fixtures构件的前提:
plugins { id 'java' id 'java-test-fixtures' }
插件会自动识别src/testFixtures/java目录下的代码,生成对应的test-fixtures构件。
2. 在消费者子项目中正确引用
在相邻子项目的依赖配置里,不能用implementation,要改用testFixturesImplementation(供自身测试代码使用):
dependencies { testFixturesImplementation(project(":producer")) }
配置完成后,你的测试代码就能正常访问:producer子项目test-fixtures目录下的类了。
补充:如果是在消费者自己的test-fixtures里引用对方的test-fixtures,可以用testFixturesTestFixturesImplementation(project(":producer")),不过这种场景比较少见。
内容的提问来源于stack exchange,提问作者thoredge
相关产品推荐
相关产品推荐

