Java Gradle配置功能是如何使用的,它们是如何工作的?

Java Gradle配置功能是如何使用的,它们是如何工作的?,java,gradle,Java,Gradle,我试图理解Gradle依赖配置,在深入研究了一些文档(例如,)之后,我留下了一大堆相关问题*: 在Gradle中,jar、工件、依赖项和模块之间的区别是什么?哪些是非JAR的工件、依赖项和模块的示例?不是模块的工件?等等 什么是可解析配置?我发现,如果configuration x.canBeResolved,那么我可以调用x.resolve来获取一组指向JAR的路径,而不必使用x.resolve方法抛出错误(这就是将配置标记为可消费品的全部原因吗?)。但是不是所有的配置都是模块集,所以我不应

我试图理解Gradle依赖配置,在深入研究了一些文档(例如,)之后,我留下了一大堆相关问题*:

  • 在Gradle中,jar、工件、依赖项和模块之间的区别是什么?哪些是非JAR的工件、依赖项和模块的示例?不是模块的工件?等等

  • 什么是可解析配置?我发现,如果configuration x.canBeResolved,那么我可以调用x.resolve来获取一组指向JAR的路径,而不必使用x.resolve方法抛出错误(这就是将配置标记为可消费品的全部原因吗?)。但是不是所有的配置都是模块集,所以我不应该看到它们是什么吗?如果是,怎么做

  • 什么是消耗品配置?将配置标记为“可消耗”允许您做什么/阻止您做什么?耗材配置的一些好例子是什么?如何利用可消耗/不可消耗的配置

  • 配置的其他哪些属性是重要的,以及为什么(例如,属性是否用于除变体之外的任何东西)

  • 什么是变体,它们是如何创建和使用的,为什么要创建/使用它们?(见附件)

  • java
    java库
    插件如何利用这些配置特性?特别是,在引擎罩下,如何使
    api
    配置与
    实施
    配置不同或不同?这是否与可分解/可消耗有关

  • 在这一点上,我还应该问什么问题

特别感谢具体示例和代码

*我意识到这些问题中有很多是可以独立提出的,如果你有一个好的答案(或链接),请分享。然而,我试图了解全局,所以我把它们放在一个标题下。此外,我怀疑如果没有其他问题的答案,我将无法理解其中一些问题的答案——例如,JAR与工件、依赖项与模块——我正试图减少问题-答案延迟和一般混淆