2016-02-29 19 views
6

Ben adlandırılmış argümanlar ve pozisyonel argümanları içeren bir Apache Commons CLI ayrıştırıcı tanımlamak istiyorum cli.tanımlama konumsal parametreler

program [-a optA] [-b optB] [-f] pos1 pos2 

Pos1 ve pos2'yi nasıl doğrularım?

cevap

3

Bir belgelerin hızlı okuma, ben CommandLine sınıfı kalan konumsal parametrelere erişim sağlayacak farkında değildi.

Komut satırında geçirilen Seçenekler ayrıştırıldıktan sonra, kalan argümanlar CommandLine.getArgs() yönteminde kullanılabilir.

public static void main(String[] args) { 
     DefaultParser clParse = new DefaultParser(); 
     Options opts = new Options(); 
     opts.addOption("a", true, "Option A"); 
     opts.addOption("b", true, "Option B"); 
     opts.addOption("f", false, "Flag F"); 

     CommandLine cmdLine = clParse.parse(opts, args); 
     System.out.println(cmdLine.getArgs().length); 
} 
+0

Teşekkür ederiz. Bu bana çok yardımcı oluyor. –

+1

bunu yaparsanız, bu konumsal argümanlar yardımda değildir. – Trismegistos