java解析命令行参数(common-cli)练习
package foo; import org.apache.commons.cli.BasicParser; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.CommandLineParser; import org.apache.commons.cli.Options; public class test { public static void main(String[] args) throws Exception{ CommandLineParser parser = new BasicParser(); Options options = new Options(); options.addOption("h","help",false,"Print this usage information"); options.addOption("v","verbose",false,"Print out VERBOSE information"); options.addOption("f","file",true,"File to save program output to"); //Parse the program arguments CommandLine commandLine = parser.parse(options, args); // Set the appropriate variables based on supplied options boolean verbose = false; String file = ""; if(commandLine.hasOption('h')){ System.out.println("Help Message"); System.exit(0); } if(commandLine.hasOption('v')){ verbose = true; } if(commandLine.hasOption('f')){ file = commandLine.getOptionValue('f'); } } }
A class that implements the CommandLineParser interface can parse a String array according to the Options specified and return a CommandLine.
//获取配置文件 String configXmlFile = System.getProperty("Config"); //加载配置文件 AbstractApplicationContext applicationContext = new FileSystemXmlApplicationContext( configXmlFile); //MBeanServer是一个包含所有注册MBean的仓库.它是JMX代理层的核心 MBeanServer mbs = java.lang.management.ManagementFactory .getPlatformMBeanServer();
logger.info("注册ApplicationServer."); ObjectName mbeanName = getApplicationObjectName(); ApplicationServer applicationServer = new ApplicationServer(); applicationServer.setApplicationContext(applicationContext); mbs.registerMBean(applicationServer, mbeanName); public static ObjectName getApplicationObjectName() throws MalformedObjectNameException { ObjectName mbeanName = new ObjectName("fm5:name=ApplicationServer"); return mbeanName; }