2016-04-11 12 views
0

Apache Karaf 3.0.xに--helpと入力すると表示されるデフォルトのヘルプメッセージを上書きすることはありますか?Apache Karafコマンドのヘルプオプションを上書きできますか?

私はドキュメントを閲覧しましたが、何も見つかりませんでした。 私はソースコードを見て、DefaultActionPreparator.prepare()にパラメータの--help文字列があるかどうかを調べ、そこにあればActionMetaDataクラスからprintUsage()関数を実行します。問題は、それを無効にする簡単な方法がないことです。 Karaf 4.0.xのように見えますが、5つの機能がリファクタリングされてヘルプ機能をオーバーライドしやすくなっていますが、現在3.0.4を使用しており、運用システムでは実験的なバージョンにアップグレードできません。

コマンドのヘルプメッセージを無効にすることができるかどうかは知っていますか?もしそうなら、ドキュメントを知っていますか?

答えて

0

これは、デフォルトのヘルプを上書きすることはできませんが、あなたは例えば、ヘルプ

のためのシンプルなマークアップを使用しています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

EDIT:
"パッチ" に私の心に来る唯一の既存の彼lpはヘルプを変更するためにバンドルに付ける断片バンドルであるかもしれません。運が良ければ、クラスローダーはむしろホストバンドルではなくフラグメントからヘルプをロードします。これはマニフェストを「パッチ」するためにも使用されていました。

+0

ありがとう、私はこれが私の質問に答えると思っていますが、今私は正しい質問をしませんでした。私は助けを無効にする何らかの方法を望んでいましたので、私は助けを入れるためにいくつかのデータベース呼び出しを行うことができましたが、現在可能ではないようです。 – Hardy

+0

コメントを参照してください。フラグメントバンドルを使用すると、それを実現できます。 –