2017-12-02 328 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」等。爲避免使用第三方庫,您可以編寫自己的解析來計算如何關聯名稱和值,但是爲什麼在已爲您免費提供的情況下重新創建邏輯? –