首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Gradle编译:如何从依赖关系中识别组和模块?

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

Stack Overflow用户
提问于 2017-03-15 22:28:25
回答 2查看 5.9K关注 0票数 8

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

代码语言:javascript
复制
  compile('com.google.http-client:google-http-client:1.20.0') {
        exclude group: 'org.apache.httpcomponents', module: 'httpclient'
    }

我在github 这里中找到了com.google.http-客户机源代码,但是从源代码中我找不到哪些部分属于组这里,哪些部分属于'httpclient

我是Gradle的初学者,所以谁能解释我如何识别模块

(就像堆栈溢出问题这里一样,有人刚刚发布了排除组‘*’,模块:‘*’,但是我想知道组和模块在哪里,所以将来我可以自己解决这个问题。)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-16 06:53:38

它不是将某些类或包从依赖项中排除出来,而是排除一些传递依赖项。组和模块是在maven存储库中查找库的属性。因为你的依赖

代码语言:javascript
复制
com.google.http-client:google-http-client:1.20.0

组为com.google.http-client,模块为google-http-client,版本为1.20.0。当你加入

代码语言:javascript
复制
exclude group: 'org.apache.httpcomponents', module: 'httpclient'

默认情况下,您只需排除要加载并添加到项目中的一个传递依赖项。

在您的具体示例中,您可以查看项目的pom文件,它声明项目依赖关系如下:

代码语言:javascript
复制
<dependency>
  <groupId>org.apache.httpcomponents</groupId>
  <artifactId>httpclient</artifactId>
  <version>${project.httpclient.version}</version>
</dependency>

在这里,group等于groupIdmodule等于artifactId。你可以读到它,这里

如果希望了解项目中哪些是传递依赖项,可以查看存储库网页上的库描述页,或者只需调用命令行gradle dependencies来打印项目的所有依赖项,包括传递依赖项。

票数 9
EN

Stack Overflow用户

发布于 2017-03-15 23:09:18

我倾向于使用grepcode。因此,对于您的示例,您可以在'com.google.http-client:google-http-client:1.20.0'http://grepcode.com/snapshot/repo1.maven.org/maven2/com.google.http-client/google-http-client/1.20.0/上浏览它的依赖项。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42821902

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档