试图解析以下代码(Apache CLI 1.4),但是它没有进入if循环。我的代码有什么问题?

问题描述 投票:0回答:1

我在JDeveloper中具有以下代码,并且我试图解析输出,但是似乎无法弄清楚。

package project1;

import org.apache.commons.cli.*;

public class cmdParser 

{
    public static void main(String[] args) 
    {
        try
               {
                   Options options = new Options();
                   options.addOption("t", false, "display current time");
                   CommandLineParser parser = new DefaultParser();
                   CommandLine cmd = parser.parse( options, args);

                   if(cmd.hasOption("t")) 
                   {
                   String optionT=cmd.getOptionValue("t");
                   System.out.println("Option t" + optionT);
                   }
                   else 
                   {
                       System.out.println("Can't get the option");
                   }
               }
        catch(ParseException exp)
        {
            System.out.println("Error:" + exp.getMessage());
        }
    }
}

输出:JDeveloper Output

jdeveloper
1个回答
0
投票

如果不通过这样的选择,您将如何获得选择...不确定如何在JDeveloper中完成此操作,但可以从命令行执行:

java cmdParser -t "my test option" 

此外,如果要将值传递给选项,则应使用options.addOption("t", true, "display current time");。如果第二个参数是false,则此选项只是一个标志。

© www.soinside.com 2019 - 2024. All rights reserved.