簡體   English   中英

模塊如何使用Gradle多模塊使用另一個模塊的資源

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM