Gradle 编译 : How to identify group and module from dependency?

标签 gradle module

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

  compile('com.google.http-client:google-http-client:1.20.0') {
        exclude group: 'org.apache.httpcomponents', module: 'httpclient'
    }

我在 github here 中找到了 com.google.http-client 源代码,但是,从源代码中我找不到哪个部分属于组“ org.apache.httpcomponents ”以及哪个部分属于' httpclient '

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

(如stackoverflow问题 here ,有人刚刚发布 exclude group '****',module:'****' ,但我想知道组和模块在哪里,所以在 future 我可以自己解决这个问题。)

最佳答案

这不是从依赖中排除某些类或包,而是排除一些传递依赖。 Group 和 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 .你可以阅读它here .

如果您想了解项目中的传递依赖关系,您可以查看 repository web page 上的库描述页面, 或者直接在命令行中调用 gradle dependencies要打印出项目的所有依赖项,请包括传递依赖项。

关于Gradle 编译 : How to identify group and module from dependency?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42821902/

相关文章:

java - 删除 gradle 中的传递类路径依赖

android - 由于线程 "main"java.util.zip.ZipException : error in opening zip file 中的异常,无法运行 native 应用程序

java - 如何在运行时转换包含groovy表达式的纯java字符串?

python - 如何在 "from <module> import *"之后重新加载?

python - 如果它们具有相同的名称,为什么python会找到模块而不是包?

linux - 用户进程如何访问我的模块加载的字符设备

python - 你如何使用 __init__.py?

Gradle 基于规则的模型嵌套 beans 语法

azure - Sonarqube的AEM规则不支持Java 1.8

ruby - 在另一个模块中扩展 Ruby 模块,包括模块方法