2017-12-02 327 views
-2

我无法找到简单的解决方案来解决我在Java中的问题。我必须使用带参数的命令行来运行JAR文件。Java - 命令行中的jar与自己的参数和自己的参数

我知道如何做到这一点像的下方,它的正常工作:

Java的罐子filename.jar参数1参数2等 例如:Java的罐子file.jar 50 10

但是,我应该怎么做,我希望使用一些参数? 例如: java -jar文件-width 50 -height 10

这可能吗?

[编辑] 我无法使用外部库。

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

+0

有库,帮助您与此有关。 – Koekje

+0

什么库? – mehow

回答

2

您可以使用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 
} 
+0

要使用它,我必须添加这个库,有没有更简单的方法来做到这一点? – mehow

+0

如果您不想添加库,则可以编写自己的解析算法。正如你所说,你已经能够在之前使用程序参数:“我知道如何做到这一点,并且它工作正常:java -jar filename.jar argument1 argument2 etc”对于你的新需求argument1 =“-width”, argument2 =“50”等。为避免使用第三方库,您可以编写自己的解析来计算如何关联名称和值,但是为什么在已为您免费提供的情况下重新创建逻辑? –