Apache旗下有許多軟件項目,其中比較有名的有web開發人員喜歡的tomcat,前端寫手會用到的cordova,大數據科學家們熟練運用的hadoop,容易上手的版本管理軟件subversion,項目必備的依賴管理軟件maven,或許曾經紅過的集成開發環境軟件netbeans,雲服務玩家們收藏的zookeeper等等,但是我最喜歡的框架不在這些有名的框架裡頭。
Apache commons exec才是我最喜歡的。這最主要是因為工作需要的緣故。在工作中,我會經常去寫一些命令行的程序或者腳本。很多時候業務的需求來了之後,我會發現其中有一些小的功能在操作系統裡頭已經有很好的實現了。這時候調用系統中的一些命令來做些處理的話,效率會很高,效果會很好。
雖然說jdk裡面內置的process builder功能並不弱,但是為了調用一個小命令寫一堆代碼還是讓人覺得很繁瑣。而且在有些情況中,需要根據用戶給的一些數據來在程序裡構建要調用的命令的時候,還是挺容易出錯的。你要是用了commons exec之後,這一切都不再難搞。我覺得這個框架最大的好處就是可以幫助我方便的構建需要調用的命令行,不用自己去拼接字符串。一個addArgument方法就可以輕鬆的將命令行的各個部分組合起來,並且每一個argument中,即使包含空格之類的特殊字符,在組合成命令之後對整體的語義也不會產生影響。這個方法還有一些貼心的功能,比如說如果傳遞一個java.io.File文件對象給它的話,它會將這個對象轉成一個程序運行時所在的操作系統所能理解的文件字符串。
看到這裡,你是不是心動了,快去將這個東東加到你的項目中試一試吧!