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 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!