【发布时间】:2021-10-10 10:34:29
【问题描述】:
我有一个多项目成绩。
root
+---- Project A
+---- Project B
项目A依赖于项目B。但是gradle首先编译项目A,然后是项目B。
我的文件: settings.gradle
rootProject.name = 'rootProject'
include 'projecta'
include 'projectb'
项目 A build.gradle
dependencies {
implementation project(':projectb')
implementation fileTree(dir: '../lib', include: '*.jar')
}
当我构建一个得到错误。但我不知道只能重复处理策略
错误:
Execution failed for task ':projectb:distTar'.
> Entry /lib/projecta.jar is a duplicate but no duplicate handling strategy has been set. Please refer to https://docs.gradle.org/7.1/dsl/org.gradle.api.tasks.Copy.html#org.gradle.api.tasks.Copy:duplicatesStrategy for details.
【问题讨论】:
-
路径
../lib相对于项目A的文件是什么?它们是外部库吗? -
是的 ../lib 中的文件是外部库,并且 projecta.jar 也包括在内,因为其他项目也依赖于这个库文件夹
-
A的默认jar输出路径为
project_root/projecta/build/libs/。你是怎么把projecta.jar放到project_root/lib的?
标签: gradle build.gradle