[英]How module can use resources of another module using gradle multi-module
我有項目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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.