dropwizardの
登録している
commandの
作成した
dropwizard-ls-command
出力結果の
1. 参考に した サイト
2. README
3. 使い 方
3.1. 以下の 記述を Applicationの initializeメソッドに 追加してください。
public void initialize(Bootstrap<Configuration> bootstrap) { bootstrap.addCommand(new LsCommand(this)); // And your initialize process.. }
3.2. コンパイル後、 以下の コマンドを 実行すると、 django風の SubCommand一覧を 出力します。
- コマンド
java -jar target/xxx.jar ls
- 出力結果
3.3. カテゴリ別に コマンドの 一覧を 出力する ことができます。
- Commandクラスに
CommandInfoアノテーションを 付与してください。
@CommandInfo(category = "RDBTask") public class YourCommand<T extends Configuration> extends ConfiguredCommand<T> {
- コマンド
java -jar target/xxx.jar ls
- 出力結果(例)
4. その 他わかった こと
4.1 argparse4jでの SubCommandオプション値の 取得方法
dropwizardでは、
オプションと
※こちら、
- オプション値の
登録の 記述は 以下に なります。
// Add -l Option subparser.addArgument("-l") .action(Arguments.storeTrue()) .help("List in long format. If the output is to a terminal, command's helps is output after command description");
- 上記に
オプション値の 受け取りの 記述は 以下に なります。 (-は 付けない。 )
Boolean hasLOptinon = namespace.getBoolean("l");
4.2 jansiライブラリ
いい感じで
READMEの
System.out.println( ansi().eraseScreen().fg(RED).a("Hello").fg(GREEN).a(" World").reset() );
という
複数行に
System.out.println( ansi().fg(RED).a("Hello").fg(GREEN).a(" World").reset() );
5. 作ったあとの 感想、 わからなかった ところ
5.1 CommandInfoアノテーションの 作りが 適当
カテゴリ分けする
何か
ただ、
5.2 DropWizardの jarが 芋づるで 落ちてくる
gradleの
dropwizard関連の
設定が
5.3 Dropwizardの スケジュールJob管理用の ライブラリが あったので その 登録Jobを うまい こと 出力する
dropwizardの
この
以上です。
コメント