日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

编写命令行工具

發布時間:2025/5/22 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 编写命令行工具 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、使用common-cli編寫命令行工具

commons-cli是Apache開源組織提供的用于解析命令行參數的包。

先引用common-cli依賴包:

<groupId>commons-cli</groupId>
<artifactId>commons-cli</artifactId>
<version>1.2</version>

命令定義:

private static final Options OPTIONS = new Options();public void defineCommand() {OPTIONS.addOption("i", true, "the input directory where the proto files are");OPTIONS.addOption("o", true, "the output directory which is the output path");OPTIONS.addOption("c",true,"whether we use config.json or not");OPTIONS.addOption("groupId",true,"maven project related parameter");OPTIONS.addOption("artifactId",true,"maven project related parameter");OPTIONS.addOption("artifactVersion",true,"maven project related parameter");OPTIONS.addOption("h", true ,"get command input help");OPTIONS.addOption("help", true ,"get command input help"); }

命令解析:

CommandLine cli = parser.parse(OPTIONS, args); if (cli.hasOption("c")) {//TODO: }

執行命令:

java -jar common-cli-demo-1.0-SNAPSHOT.jar -c c:\cli\demo1\config.json

config.json:

{"groupId": "common.cli.demo","artifactId": "cli-demo","artifactVersion": "demo-snapshot","outputDirectory": "c" }

config.json文件名可以隨意,如果不指定就讀取默認的配置。

2、使用mustache模版?

mustache參考地址:Github地址

模板文件generator.mustache:

<?xml version="1.0" encoding="GBK"?> <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> <properties><entry key="base_package">{{base_package}}</entry><!--配置實體包路徑--><entry key="base_entity_package">{{base_entity_package}}</entry><!--配置mybatis Mapper包路徑--><entry key="base_mapper_package">{{base_mapper_package}}</entry></properties>

默認模板參數配置xmltemplate.json:

{"base_package": "com.demo.package","base_entity_package": "com.demo.package.entity","base_mapper_package": "com.demo.package.mapper" }

自定義模板的參數配置xmltemplate.json:

{"base_package": "com.test.demo.package","base_entity_package": "com.test.demo.package.entity.testDb","base_mapper_package": "com.test.demo.package.mapper.testDb" }

指定配置文件

執行命令:

java -jar common-cli-demo-1.1-SNAPSHOT.jar -c c:\cli\demo2\template.json -o c:\cli\demo2\

?填充模板生成的xml文件為:

<?xml version="1.0" encoding="GBK"?> <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> <properties><entry key="base_package">com.test.demo.package</entry><!--配置實體包路徑--><entry key="base_entity_package">com.test.demo.package.entity.testDb</entry><!--配置mybatis Mapper包路徑--><entry key="base_mapper_package">com.test.demo.package.mapper.testDb</entry></properties>

不指定配置文件(使用默認的配置)

執行命令:

java -jar common-cli-demo-1.1-SNAPSHOT.jar -o c:\cli\demo2\

?填充模板生成的xml文件為:

<?xml version="1.0" encoding="GBK"?> <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> <properties><entry key="base_package">com.demo.package</entry><!--配置實體包路徑--><entry key="base_entity_package">com.demo.package.entity</entry><!--配置mybatis Mapper包路徑--><entry key="base_mapper_package">com.demo.package.mapper</entry></properties>

示例:common-cli-demo?

轉載于:https://www.cnblogs.com/mr-yang-localhost/p/9000445.html

總結

以上是生活随笔為你收集整理的编写命令行工具的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。