出于一些奇怪的原因,我在gradle类路径中使用了基于本地filetree的jar。
从子模块(项目)中,我想排除一个本地jar。但是我缺少它的语法,有人能给我提供正确的语法来排除本地jar文件作为一个可传递的依赖关系吗?
dependencies {
implementation(project(":my-simple-project")) {
exclude fileTree(dir: "../lib/", include: ["axis2-1.7.8/axis2-transport-http-1.7.8.jar"])
}
}
或
dependencies {
implementation(project(":my-simple-project")) {
exclude files("../lib/axis2-1.7.8/axis2-transport-http-1.7.8.jar"])
}
}
我犯了个错误
* What went wrong:
A problem occurred evaluating project ':my-simple-project'.
> Could not find method exclude() for arguments [directory '../lib/'] on DefaultProjectDependency{dependencyProject='project ':my-simple-project'', configuration='default'} of type org.gradle.api.internal.artifacts.dependencies.DefaultProjectDependency.
2条答案
按热度按时间fafcakar1#
可以使用以下语法排除嵌套的jar:
或
引用:gradle filetree排除除某些目录以外的所有目录
vvppvyoh2#
只能排除模块依赖项,不能排除文件依赖项。
如果无法从公共存储库(如maven central或jcenter)解析依赖关系,则可以创建本地maven存储库(甚至在项目结构中),并直接从此处解析文件:
请注意,您必须修改
lib
文件夹以匹配maven目录结构(或者使用自定义结构定义ivy存储库)。