java—了解gradle项目中的流程

relj7zay  于 2021-06-15  发布在  ElasticSearch
关注(0)|答案(1)|浏览(466)

我纯粹是从maven的背景,我还没有使用gradle建设至今。
完整的:
我能够成功地建立这个项目https://github.com/opendistro-for-elasticsearch/anomaly-detection 使用 ./gradlew build 根据项目文件,提到 ./gradlew :run 命令将启动安装了两个插件的单节点ElasticSearch集群。我试过,我能得到两个插件安装如下
http://127.0.0.1:9200/\u cat/plugins?v&s=组件&h=名称、组件、版本、描述

问题:
现在我正在努力理解这个开源代码,
build.gradle中这四个标记的用途是什么(https://github.com/opendistro-for-elasticsearch/anomaly-detection):buildscript、插件、存储库、ext
当我看着 build.gradle ,似乎需要以下程序包进行构建,
allprojects{group='com.amazon.opendistriforelaticsearch'

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

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

感谢您的帮助!
谢谢,
骚扰

slwdgvem

slwdgvem1#

关于gradle的问题,我想很容易回答:
这四个标签的用途是什么: buildscript :此块允许在加载其余生成脚本之前应用设置。例如,这对于向类路径添加插件非常有用。但是这个用例已经过时了 plugins 建议使用块(文件) plugins :使用此块可以向gradle项目添加插件。 id 'java' 对于java项目来说是典型的。这些插件要么与gradle一起提供,要么将从远程存储库中检索。如果需要,可以在setting.gradle文件中配置(文件) repositories :为了从远程存储库解析工件(并推送到它们),您必须定义这些repo。一个流行的选择是 mavenCentral() 以及 jcenter() ,但您也可以定义自己的回购。对于防火墙后的企业使用,我们经常这样做(文件) ext :这是gradle项目的扩展,允许您定义在整个生成脚本中使用的其他属性。一旦定义,您就可以访问它们而无需 ext. 前缀(文件) allprojects 迭代根项目和所有子项目,并将闭包应用于每个项目。在这种情况下,将组设置为给定的字符串,并存储一个命令,该命令在java插件应用于该项目时执行,并将java输入和输出设置为版本1.8。
至于main方法:我想您必须在项目中搜索main方法。或者,它可以是启动应用程序的框架。在这种情况下,框架必须有某种钩子(重写类/实现接口、注解?)才能启动实际的应用程序。您必须在框架文档中检查这一点。快速入门指南可能是一个伟大的地方开始寻找。

相关问题