緻敬aliyuncli,不可否認它非常好用,可以直接發起api請求,但是它需要依賴具體的sdk,且無法識别sdk中未包含的指令,這就讓我想做一個更自由一些的cli工具。這樣隻要在api更新後,直接就可以使用,不需要等待sdk的疊代更新。
不依賴sdk,完全使用使用者傳入的參數,忠心耿耿的拼接url(隻要api支援,就可以使用,不需依賴sdk是否更新)。
受惠于java優秀的跨平台性,此程式在不同系統下均可順利運作,拿着一個jar檔案可以跑遍windows、mac和linux(solaris當然也沒落下~)
指令使用絕大部分相容aliyuncli,會用aliyuncli的同學隻需花幾分鐘就可以上手jcli
對中文字元的支援較好,實際測試在windows和linux下都可以正确顯示中文字元
對于可以支援https的服務,優先使用https,提高安全性
上面第一點的優點,也是它的缺點,由于不依賴sdk,她無法對傳入的action做校驗,會出現即使輸入一個錯誤的action,還是會生成url的情況。但俗話說的好,“魚和熊掌不可兼得”,在得到巨大的自由度下,犧牲一點健壯性還是可以接受的。
一些未知的代碼bug……(盡管我已經很努力地去設想可能的情況,并做了容錯,但估計還是有一些坑 orz)
jdk(jre)>=1.6
jar包中一種引入了所有依賴的非jre的jar包,理論上不需要再引入别的依賴包了
壓縮包裡包含了windows和linux下封裝好的腳本、詳細的程式說明文檔和jar本體,由于限制,附件隻能上傳一個,zip包中包含了以上所有的檔案。
由于jcli沒有使用sdk,是以支援的服務是一次添加,永久使用(前提是公共參數和請求位址沒有修改),目前經過測試,jcli支援以下服務(目前還是比較笨的寫死在程式中的,後續會考慮用更靈活的方法實作):
在運作時,若jcli發現無法parse的參數,會主動列印出,友善debug: