我纯粹是从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项目,让我知道代码的起点,这样我就可以调试并获得剩余的上下文了!!
感谢您的帮助!
谢谢,
骚扰
1条答案
按热度按时间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方法。或者,它可以是启动应用程序的框架。在这种情况下,框架必须有某种钩子(重写类/实现接口、注解?)才能启动实际的应用程序。您必须在框架文档中检查这一点。快速入门指南可能是一个伟大的地方开始寻找。