Gradle编译:如何从依赖项中识别组和模块?

用户名

有时,我不想添加所有依赖项,因此我需要从依赖项中排除某些依赖项,例如:

  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等于groupIdmodule等于artifactId你可以在这里阅读

如果要查找项目中有哪些可传递依赖项,则可以在存储库网页上查看库描述页面,或者仅在命令行中调用gradle dependencies以打印出项目的所有依赖项,包括可传递依赖项。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章