您可以覆盖 Apache Karaf 命令的帮助选项吗?
Can you override the help option of an Apache Karaf command?
Apache Karaf 3.0.x 是否有覆盖默认的帮助消息,当您键入 --help 时显示?
我浏览了文档,但找不到任何内容。
我查看了源代码并在 DefaultActionPreparator.prepare() 中发现它会检查参数中的 --help 字符串,如果存在,它会运行来自 ActionMetaData class 的 printUsage() 函数。问题是我没有看到任何简单的方法来覆盖它。
它看起来像在 Karaf 4.0.x 中,或者可能有 5 件事正在重构,以便更容易覆盖帮助功能,但我目前使用的是 3.0.4,无法在我的生产中升级到实验版本系统。
那么,有人知道是否可以覆盖命令的帮助消息吗?如果可以,您知道一些文档吗?
无法覆盖默认帮助,但您可以通过在 OSGI-INF 中添加一个 bundle.info 文件来为您自己的命令添加自己的帮助,该文件使用简单的帮助标记
例如:
h1. Synopsis
${project.name}
${project.description}
Maven URL:
\u001B[33mmvn:${project.groupId}/${project.artifactId}/${project.version}\u001B[0m
h1. Description
This bundle provides the Karaf shell commands to manipulate DS Components.
h1. Commands
The following commands are available:
${command-list|scr|indent=8,list,cyan}
h1. See also
\u001B[36mCommands\u001B[0m and \u001B[36mDeclarative Services\u001B[0m sections of the Karaf User Guide.
或此处https://github.com/apache/karaf/blob/master/scr/command/src/main/resources/OSGI-INF/bundle.info
编辑:
"Patch" 我想到的唯一一件事是现有帮助可能是一个片段包,它附加到包以更改帮助。幸运的是,类加载器宁愿从片段而不是主机加载帮助-捆。这过去也适用于 "patch" 清单,所以为什么不这样做。
Apache Karaf 3.0.x 是否有覆盖默认的帮助消息,当您键入 --help 时显示?
我浏览了文档,但找不到任何内容。 我查看了源代码并在 DefaultActionPreparator.prepare() 中发现它会检查参数中的 --help 字符串,如果存在,它会运行来自 ActionMetaData class 的 printUsage() 函数。问题是我没有看到任何简单的方法来覆盖它。 它看起来像在 Karaf 4.0.x 中,或者可能有 5 件事正在重构,以便更容易覆盖帮助功能,但我目前使用的是 3.0.4,无法在我的生产中升级到实验版本系统。
那么,有人知道是否可以覆盖命令的帮助消息吗?如果可以,您知道一些文档吗?
无法覆盖默认帮助,但您可以通过在 OSGI-INF 中添加一个 bundle.info 文件来为您自己的命令添加自己的帮助,该文件使用简单的帮助标记
例如:
h1. Synopsis
${project.name}
${project.description}
Maven URL:
\u001B[33mmvn:${project.groupId}/${project.artifactId}/${project.version}\u001B[0m
h1. Description
This bundle provides the Karaf shell commands to manipulate DS Components.
h1. Commands
The following commands are available:
${command-list|scr|indent=8,list,cyan}
h1. See also
\u001B[36mCommands\u001B[0m and \u001B[36mDeclarative Services\u001B[0m sections of the Karaf User Guide.
或此处https://github.com/apache/karaf/blob/master/scr/command/src/main/resources/OSGI-INF/bundle.info
编辑:
"Patch" 我想到的唯一一件事是现有帮助可能是一个片段包,它附加到包以更改帮助。幸运的是,类加载器宁愿从片段而不是主机加载帮助-捆。这过去也适用于 "patch" 清单,所以为什么不这样做。