经典插件的插件描述符文件
编辑经典插件的插件描述符文件
编辑经典插件描述符文件是一个名为 plugin-descriptor.properties
的 Java 属性文件,用于描述插件。如果您使用 Elasticsearch 的 Gradle 构建系统,则会自动创建此文件。如果您没有使用 Gradle 插件,则可以使用以下模板手动创建它。
# Elasticsearch plugin descriptor file # This file must exist as 'plugin-descriptor.properties' or 'stable-plugin-descriptor.properties inside a plugin. # ### example plugin for "foo" # # foo.zip <-- zip file for the plugin, with this structure: # |____ <arbitrary name1>.jar <-- classes, resources, dependencies # |____ <arbitrary nameN>.jar <-- any number of jars # |____ plugin-descriptor.properties <-- example contents below: # # classname=foo.bar.BazPlugin # description=My cool plugin # version=6.0 # elasticsearch.version=6.0 # java.version=1.8 # ### mandatory elements for all plugins: # # 'description': simple summary of the plugin description=${description} # # 'version': plugin's version version=${version} # # 'name': the plugin name name=${name} # # 'java.version': version of java the code is built against # use the system property java.specification.version # version string must be a sequence of nonnegative decimal integers # separated by "."'s and may have leading zeros java.version=${javaVersion} # # 'elasticsearch.version': version of elasticsearch compiled against. # Plugins implementing plugin-api.jar this version only has to match a major version of the ES server # For all other plugins it has to be the same as ES server version elasticsearch.version=${elasticsearchVersion} ### optional elements for plugins: <% if (classname) { %> # # 'classname': the name of the class to load, fully-qualified. Only applies to # "isolated" plugins classname=${classname} <% } %> <% if (modulename) { %> # # 'modulename': the name of the module to load classname from. Only applies to # "isolated" plugins. This is optional. Specifying it causes the plugin # to be loaded as a module. modulename=${modulename} <% } %> <% if (extendedPlugins) { %> # # 'extended.plugins': other plugins this plugin extends through SPI extended.plugins=${extendedPlugins} <% } %> <% if (hasNativeController) { %> # # 'has.native.controller': whether or not the plugin has a native controller has.native.controller=${hasNativeController} <% } %> <% if (licensed) { %> # This plugin requires that a license agreement be accepted before installation licensed=${licensed} <% } %>
属性
编辑元素 | 类型 | 描述 |
---|---|---|
|
字符串 |
插件的简单摘要 |
|
字符串 |
插件的版本 |
|
字符串 |
插件名称 |
|
字符串 |
要加载的类的名称,完整限定名称。 |
|
字符串 |
此插件通过 SPI 扩展的其他插件。 |
|
字符串 |
要从中加载 classname 的模块名称。仅适用于“隔离”插件。这是可选的。指定它会导致插件作为模块加载。 |
|
字符串 |
代码构建所依据的 Java 版本。使用系统属性 |
|
字符串 |
编译所依据的 Elasticsearch 版本。 |