<dependency>
<groupId>net.sourceforge.argparse4j</groupId>
<artifactId>argparse4j</artifactId>
<version>0.9.0</version>
</dependency>
import net.sourceforge.argparse4j.ArgumentParsers;
import net.sourceforge.argparse4j.impl.Arguments;
import net.sourceforge.argparse4j.inf.ArgumentParser;
import net.sourceforge.argparse4j.inf.Namespace;
public class MyCommandLineApp {
public static void main(String[] args) {
ArgumentParser parser = ArgumentParsers.newFor("MyCommandLineApp").build()
.defaultHelp(true)
.description("This is a description of my command-line app.");
parser.addArgument("--input")
.required(true)
.type(Arguments.fileType().acceptSystemIn().verifyCanRead())
.help("Input file path");
Namespace namespace;
try {
namespace = parser.parseArgs(args);
} catch (Exception e) {
parser.handleError(e);
System.exit(1);
}
String inputFilePath = namespace.getString("input");
// ...
}
}