Java - 带有自己的参数和自己的参数的命令行中的jar [重复]

Posted

技术标签:

【中文标题】Java - 带有自己的参数和自己的参数的命令行中的jar [重复]【英文标题】:Java - jar in command line with own parameters and own arguments [duplicate] 【发布时间】:2018-05-16 17:18:26 【问题描述】:

我找不到简单的解决方案来解决我的 Java 问题。我必须使用带参数的命令行运行 JAR 文件。

我知道如何像下面那样做,而且工作正常:

java -jar 文件名.jar 参数 1 参数 2 等等。 例如:java -jar file.jar 50 10

但是,我该怎么办,我必须使用一些参数? 例如: java -jar 文件 -width 50 -height 10

有可能吗?

[编辑] 我不能使用外部库。

对于初学者来说,任何类似的答案都不是那么容易,其中一些对我不起作用。我没那么傻先开票,我这两天一直在找答案。但是,如果您仍然认为这是重复的,请删除该主题中的所有帖子:/。

【问题讨论】:

有一些库可以帮助您。 什么库? 【参考方案1】:

你可以使用Apache Common CLI

// create Options object
Options options = new Options();
 // add t option
options.addOption("t", false, "display current time");
CommandLineParser parser = new DefaultParser();
CommandLine cmd = parser.parse( options, args);
 if(cmd.hasOption("t")) 
     // print the date and time
  else 
     // print the date
 

【讨论】:

要使用它我必须添加这个库,有没有更简单的方法可以做到这一点? 如果您不想添加库,您可以编写自己的解析算法。正如您所说,您之前已经能够使用程序参数:“我知道如何像下面那样做,它工作正常:java -jar filename.jar argument1 argument2 etc”对于您的新要求argument1 =“-width”, argument2 = "50" 等。因此,为了避免使用 3rd 方库,您可以编写自己的解析来弄清楚如何关联名称和值,但是既然已经免费提供给您,为什么还要重新发明逻辑呢?

以上是关于Java - 带有自己的参数和自己的参数的命令行中的jar [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在命令行中使用intel c++编译器,并使用openmp和mkl来编译自己的程序,并运算

Python函数,它返回自己的带有参数的签名

[记录]Shell中的getopts和getopt用法

JVM命令参数详解

JVM命令参数详解

JVM命令参数详解