Java Main参数解析(Args4j)

最近实现一个工具,Main函数会有很多参数,而且参数类型不同,为了统一解析,网上找到三方工具类Args4j,轻松搞定。

代码实例如下:

定义解析类:


import java.io.File

import org.kohsuke.args4j.Option
import org.slf4j.LoggerFactory


/**
* 数据库报表生成命令行参数定义
*
* @author BarryWang create at 2018/6/23 20:21
* @version 0.0.1
*/
class ArgOptions {
val logger= LoggerFactory.getLogger(classOf[ArgOptions])

/**
* 对象名及查询SQL脚本对,中间用英文分号":"隔开
*/
val query = new scala.collection.mutable.ListBuffer[(String, String, String)];
@Option(name = "-q",
aliases = Array("-query"),
metaVar = "::",
usage = "对象名及查询SQL脚本对,中间用英文分号“:”隔开, 例如database:objectName:sql。(String)")
def setProperty(property: String): Unit = {
var arr = property.split(":")
arr.length match {
case 3 => query.+=((arr(0), arr(1), arr(2)))
case _ => logger.info("-query 传入参数格式错误, 正确格式: ::")
}
}

/**
* JXLS Excel模板文件绝对路径
*/
@Option(name = "-t",
aliases = Array("-template"),
metaVar = "