Apache Commons CLI - Bağımsız Değişken Seçeneği
Bir Argüman seçeneği, bir komut satırında adı ve karşılık gelen değeriyle temsil edilir. Örneğin, seçenek mevcutsa, kullanıcı değerini iletmelidir. Günlükleri bir dosyaya yazdırıyorsak, bunun için kullanıcının log dosyasının adını argüman seçeneği logFile ile girmesini istiyorsak aşağıdaki örneği düşünün.
Misal
CLITester.java
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.DefaultParser;
import org.apache.commons.cli.Option;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.ParseException;
public class CLITester {
public static void main(String[] args) throws ParseException {
Options options = new Options();
Option logfile = Option.builder()
.longOpt("logFile")
.argName("file" )
.hasArg()
.desc("use given file for log" )
.build();
options.addOption(logfile);
CommandLineParser parser = new DefaultParser();
CommandLine cmd = parser.parse( options, args);
// has the logFile argument been passed?
if(cmd.hasOption("logFile")) {
//get the logFile argument passed
System.out.println( cmd.getOptionValue( "logFile" ) );
}
}
}
Çıktı
Seçenek olarak --logFile'ı geçerken dosyayı çalıştırın, dosyanın adı seçeneğin değeri olarak ve sonucu görün.
java CLITester --logFile test.log
test.log