0

我纯粹是 Maven 背景,到目前为止我还没有使用过 Gradle 构建。

完全的 :

  1. 我能够使用https://github.com/opendistro-for-elasticsearch/anomaly-detection成功构建这个项目./gradlew build

  2. 根据项目中的文档,提到该./gradlew :run命令将启动安装了两个插件的单节点弹性搜索集群。我试过了,我可以像下面这样安装两个插件

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

名称 组件 版本 描述 integTest-0 opendistro-anomaly-detection 1.10.0.0 Amazon opendistro elasticsearch 异常检测器插件 integTest-0 opendistro-job-scheduler 1.10.0.0-SNAPSHOT Open Distro for Elasticsearch 作业调度器插件

问题

现在我试图理解这个开源代码,

  1. build.gradle(https://github.com/opendistro-for-elasticsearch/anomaly-detection)中这四个标签的用途是什么:buildscript、plugins、repositories、ext

  2. 当我查看时build.gradle,似乎需要构建以下包,

    allprojects { group = 'com.amazon.opendistroforelasticsearch'

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

    }

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

在此处输入图像描述

任何帮助表示赞赏!

谢谢,
哈利

4

1 回答 1

1

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

  1. 这四个标签的目的是什么:

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

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

于 2020-09-03T06:14:30.140 回答