Javaプログラムをパラメータ付きjarファイルのインスタンスコードにパッケージ化します。
ここでは、Apache Commons CLIを通じて目標機能を達成します。
必要なmaven依存
実行コマンド:
締め括りをつける
以上は小编が绍介したJavaプログラムをパラメータ付きのjarファイルのインスタンスコードに包装しました。皆さんに助けてほしいです。もし何か疑问があれば、メッセージをください。小编はすぐに返事します。ここでも私たちのサイトを応援してくれてありがとうございます。
必要なmaven依存
<dependency>
<groupId>commons-cli</groupId>
<artifactId>commons-cli</artifactId>
<version>1.4</version>
</dependency>
ここにメインコードを貼り付けます。
Options opts = new Options();
opts.addOption("h", false,"help");
Option portOption = OptionBuilder.withArgName("args")
.withLongOpt("port").hasArg()
.create("p");
opts.addOption(portOption);
Option fileOption = OptionBuilder.withArgName("args")
.withLongOpt("file").hasArg()
.create("f");
opts.addOption(fileOption);
Option kafkaHostOption = OptionBuilder.withArgName("args")
.withLongOpt("kafkaHost").hasArg()
.create("kH");
opts.addOption(kafkaHostOption);
Option kafkaPortOption = OptionBuilder.withArgName("args")
.withLongOpt("kafkaPort").hasArg()
.create("kP");
opts.addOption(kafkaPortOption);
Option kafkaTopicOption = OptionBuilder.withArgName("args")
.withLongOpt("kafkaTopic").hasArg()
.create("kT");
opts.addOption(kafkaTopicOption);
BasicParser parser = new BasicParser();
CommandLine cl;
try {
cl = parser.parse(opts, args);
if (cl.getOptions().length > 0) {
if (cl.hasOption('h')) {
HelpFormatter hf = new HelpFormatter();
hf.printHelp("Options", opts);
} else {
//String ip = cl.getOptionValue("i");
String port = cl.getOptionValue("p");
String file = cl.getOptionValue("f");
String kafkaHost = cl.getOptionValue("kH");
String kafkaPort = cl.getOptionValue("kP");
String kafkaTopic = cl.getOptionValue("kT");
GetInfo getInfo = new GetInfo();
getInfo.getAndZgrab(file,port,kafkaHost,kafkaPort,kafkaTopic);
}
} else {
System.out.println(" ");
}
} catch (Exception e) {
e.printStackTrace();
}
上記のコードをmain関数に入れて、args[]を解析して、このようにプログラムをjarファイルに包装したら私達の需要を実現できます。実行コマンド:
java -jar jarName.jar -f filename -p port - kH kafkaHost -kP kafkaPort -kT kafkaTopic
忘れたらどんなパラメータを送るべきか、java -jar jarName.jar -h
でパラメータの内容を取得できます。締め括りをつける
以上は小编が绍介したJavaプログラムをパラメータ付きのjarファイルのインスタンスコードに包装しました。皆さんに助けてほしいです。もし何か疑问があれば、メッセージをください。小编はすぐに返事します。ここでも私たちのサイトを応援してくれてありがとうございます。