微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

了解Gradle项目中的流程

如何解决了解Gradle项目中的流程

我完全来自Maven背景,到目前为止我还没有使用Gradle构建。

已完成:

  1. 我能够使用./gradlew build

    成功构建此项目https://github.com/opendistro-for-elasticsearch/anomaly-detection
  2. 根据项目中的文档,提到./gradlew :run命令将启动安装了两个插件的单节点弹性搜索集群。我尝试了一下,就能像下面那样安装两个插件

    http://127.0.0.1:9200/_cat/plugins?v&s=component&h=name,description

name        component                    version           description
integTest-0 opendistro-anomaly-detection 1.10.0.0          Amazon opendistro elasticsearch anomaly detector plugin
integTest-0 opendistro-job-scheduler     1.10.0.0-SNAPSHOT Open Distro for Elasticsearch job schduler plugin

问题

现在,我正在尝试理解此开源代码

  1. build.gradle(https://github.com/opendistro-for-elasticsearch/anomaly-detection)中这四个标记的用途是什么:buildscript,插件,存储库,ext

  2. 当我看着build.gradle时,似乎需要以下软件包进行构建,

    allprojects { 组='com.amazon.opendistroforelasticsearch'

     plugins.withId('java') {
         sourceCompatibility = targetCompatibility = "1.8"
     }
    

    }

但是此代码https://github.com/opendistro-for-elasticsearch/anomaly-detection)的主要方法/触发点在哪里?有人可以看一下这个github项目,让我知道代码的起点,以便我进行调试并获取剩余的上下文!!

enter image description here

感谢您的帮助!

谢谢,
哈里

解决方法

关于Gradle问题,我想可以很容易地回答它们:

  1. 这四个标签的用途是什么

    • buildscript:此块允许进行设置,并在加载其余的构建脚本之前之前应用。例如,这对于将插件添加到类路径很有用。但是该用例已过时,建议使用plugins块。 (Documentation
    • plugins:使用此块,您可以将插件添加到Gradle项目。 id 'java'对于Java项目是典型的。这些插件要么随Gradle一起提供,要么将从远程存储库中检索。如果需要,可以在setting.gradle文件中进行配置。 (Documentation
    • repositories:为了从远程存储库解析工件(并将其推送到),您必须定义这些存储库。流行的选择是mavenCentral()jcenter(),但您也可以定义自己的存储库。对于防火墙后的企业使用,我们做了很多事情。 (Documentation
    • ext:这是Gradle项目的扩展,允许您定义其他属性以供整个构建脚本使用。定义后,您无需使用ext.前缀即可访问它们。 (Documenation
  2. allprojects遍历根项目和所有子项目,并将闭包应用于每个项目。在这种情况下,将组设置为给定的字符串,并存储一个命令,该命令在将Java插件应用于该项目并将Java输入和输出设置为1.8版时执行。

关于主要方法:我想您必须在项目中搜索主要方法。或者,它可能是启动您的应用程序的框架。在那种情况下,框架必须有某种挂钩(重写类/已实现的接口,注释?)才能启动您的实际应用程序。您必须在框架文档中进行检查。快速入门指南可能是开始寻找的好地方。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。