有时,我不想添加所有依赖项,因此我需要从依赖项中排除某些依赖项,例如:
compile('com.google.http-client:google-http-client:1.20.0') {
exclude group: 'org.apache.httpcomponents', module: 'httpclient'
}
我在这里的github中找到了com.google.http-client源代码,但是,从源代码中我找不到属于“ org.apache.httpcomponents ”组的哪一部分以及属于“ httpclient ”的那一部分
我是Gradle的初学者,所以谁能解释我如何识别组和模块?
(就像这里的stackoverflow问题一样,有人只是发布排除组'****',module:'****',但是我想知道组和模块在哪里,所以将来我可以自己解决这个问题)
这与从依赖项中排除某些类或程序包无关,而与从某些传递性依赖项中排除有关。组和模块是用于在maven存储库中查找库的属性。为了你的依赖
com.google.http-client:google-http-client:1.20.0
组是com.google.http-client
,模块是google-http-client
,版本是1.20.0
。当您添加
exclude group: 'org.apache.httpcomponents', module: 'httpclient'
您仅排除了将要传递的依赖项默认情况下加载并添加到项目中。
在您的确切情况下,您可以查看项目的pom-file,该文件声明了项目依赖项,如下所示:
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>${project.httpclient.version}</version>
</dependency>
在这里,group
等于groupId
和module
等于artifactId
。你可以在这里阅读。
如果要查找项目中有哪些可传递依赖项,则可以在存储库网页上查看库描述页面,或者仅在命令行中调用gradle dependencies
以打印出项目的所有依赖项,包括可传递依赖项。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句