2016-10-31 15 views
0

私はApacheのコモンズcliを動作させることができませんでした。try-catchブロックの後にエラーが見つかりません

apache commons-cli

は、私が最も簡単なスタートを持っている: これが唯一のクラスです。 リソースはmaven(コマンドライン)で追加されます。

import org.apache.commons.cli.*; 

public class App { 

    public static void main(String[] args) { 

     // create Options object 
     Options options = new Options(); 
     CommandLineParser parser = new DefaultParser(); 

     // add t option 
     options.addOption("t", false, "display current time"); 

     try{ 
      CommandLine cmd = parser.parse(options, args); 
     }catch(ParseExeption ex){ 

     } 

     if(cmd.hasOption("t")) { 
      // print the date and time 
     }else { 
      // print the date 
     } 
    } 
} 

何を試しても問題ありません。私は "シンボルを見つけることができません"を取得します。 これは、エラーの最後の部分である:

[ERROR] COMPILATION ERROR : 
[INFO] ------------------------------------------------------------- 
[ERROR] /Users/peter/Code/java/using_archetypes/using_cli_1/src/main 
    /java/com/mkyong/core/utils/App.java:[27,8] cannot find symbol 
    symbol: class ParseExeption 
    location: class com.mkyong.core.utils.App 
    [ERROR] /Users/peter/Code/java/using_archetypes/using_cli_1/src/main 
    /java/com/mkyong/core/utils/App.java:[31,4] cannot find symbol 
    symbol: variable cmd 
    location: class com.mkyong.core.utils.App 
    [INFO] 2 errors 
    [INFO] ------------------------------------------------------------- 
    [INFO] 

    ------------------------------------------------------------------- 
    [INFO] BUILD FAILURE 
    [INFO] 
    ------------------------------------------------------------------- 
    [INFO] Total time: 0.842 s 
    [INFO] Finished at: 2016-10-31T12:17:29+01:00 
    [INFO] Final Memory: 15M/309M 
    [INFO]  
    --------------------------------------------------------------- 
    [ERROR] Failed to execute goal org.apache.maven.plugins:maven- 
    compiler-plugin:3.1:compile (default-compile) on project 
    dateUtils2: Compilation failure: Compilation failure: 
    [ERROR] /Users/peter/Code/java/using_archetypes/using_cli_1/src/main 
    /java/com/mkyong/core/utils/App.java:[27,8] cannot find symbol 
    [ERROR] symbol: class ParseExeption 
    [ERROR] location: class com.mkyong.core.utils.App 
    [ERROR] /Users/peter/Code/java/using_archetypes/using_cli_1/src/main 
    /java/com/mkyong/core/utils/App.java:[31,4] cannot find symbol 
    [ERROR] symbol: variable cmd 
    [ERROR] location: class com.mkyong.core.utils.App 
    [ERROR] -> [Help 1] 
    [ERROR] 
    [ERROR] To see the full stack trace of the errors, re-run Maven 
    with  the -e switch. 
    [ERROR] Re-run Maven using the -X switch to enable full debug 
    logging. 
    [ERROR] 
    [ERROR] For more information about the errors and possible 
    solutions, please read the following articles: 
    [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN 
    /MojoFailureException 

私はコモンズ-CLIで開始する助けてください。 これはmavenコンパイラでコンパイルされます。 ありがとうございます。

+0

この問題ましたcommons-cliとは関係ありませんが、基本的な範囲の問題です。 –

答えて

1

あなたがcmdあなたの変数を定義したところ、単にそれ以外の場合は、次のように例えば、表示されませんParseExceptionParseExeptionを交換し、同じコードブロック内のif/elseブロックを移動:

public static void main(String[] args) throws ParseException{ 
    // create Options object 
    Options options = new Options(); 
    CommandLineParser parser = new DefaultParser(); 

    // add t option 
    options.addOption("t", false, "display current time"); 

    CommandLine cmd = parser.parse(options, args); 

    if(cmd.hasOption("t")) { 
     // print the date and time 
    }else { 
     // print the date 
    } 

} 
+0

ありがとうございます。できます。私はJavaの例外について読んでいます。引数が渡されない場合、cli-gui内のオプションを取得する方法はありますか? –

+0

引数なしでアプリケーションを実行する場合は、java -jar target/dateutils.jar( "-t"引数なし)を実行します。それから私はcli-guiを取得したいと思います。そこにはオプション「t」があります。 apache-common-cliを使用できますか? –

+0

'cli-gui'はどういう意味ですか? –

関連する問題