Java命令行參數解析工具包:CmdOption
CmdOption 是一個用于Java5應用程序的注解驅動的簡單命令行參數解析工具包,你所需要做的就是簡單配置對象,每個字段和方法通過注解來定義。
示例代碼:
package org.example;
import java.util.*;
import de.tototec.cmdoption.*;
public class Main {
public static class Config {
@CmdOption(names = {"--help", "-h"}, description = "Show this help.", isHelp = true)
public boolean help;
@CmdOption(names = {"--verbose", "-v"}, description = "Be more verbose.")
private boolean verbose;
@CmdOption(names = {"--options", "-o"}, args = {"name", "value"}, maxCount = -1, description = "Additional options when processing names.")
private final Map<String, String> options = new LinkedHashMap<String, String>();
@CmdOption(args = {"file"}, description = "Names to process.", minCount = 1, maxCount = -1)
private final List<String> names = new LinkedList<String>();
}
public static void main(String[] args) {
Config config = new Config();
CmdlineParser cp = new CmdlineParser(config);
cp.setResourceBundle(Main.class.getPackage().getName() + ".Messages", Main.class.getClassLoader());
cp.setProgramName("myprogram");
cp.setAboutLine("Example names processor v1.0");
try {
cp.parse(args);
} catch (CmdlineParserException e) {
System.err.println("Error: " + e.getLocalizedMessage() + "\nRun myprogram --help for help.");
System.exit(1);
}
if (config.help) {
cp.usage();
System.exit(0);
}
// ...
}
}
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!