我有项目A和项目B
项目A单元测试(在tests目录下)需要使用在Projects B main / resources目录下的资源文件。
gradle.build在项目A上:
dependencies {
.. testCompile project(':web')
}
在项目B上进行gradle.build:
task testJar(type: Jar) {
classifier 'resources'
from sourceSets.main.resources
}
仍然失败。我不确定我想念什么?
谢谢雷。
当您对这样的项目添加依赖项时:
testCompile project(':B')
您取决于项目B产生的默认工件,通常是默认jar。如果要依赖自定义jar,例如测试jar,资源jar或胖jar,则必须明确指定。您可以将自定义工件添加到配置中,而是依赖于配置,如下所示:
在B的build.gradle中:
configurations {
foo
}
task testJar(type: Jar) {
classifier 'resources'
from sourceSets.main.resources
}
artifacts {
foo testJar
}
然后在A中将其用作:
dependencies{
testCompile project(path: ':B', configuration: 'foo')
}
要验证,您可以将此任务添加到A:
task printClasspath()<<{
configurations.testCompile.each{println it}
}
打印:
${projectRoot}\B\build\libs\B-resources.jar
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句