windows dos指令 jar打封包件,jar打封包件夾
項目上線之後,版本的疊代必不可少,但是怎麼做才是規範,安全的呢?
當然原項目備份是必不可少的了:
比如我的項目名是 wechat (我使用的tomcat伺服器,是以該項目wechat預設在 webapps 檔案夾中)
首先對原項目打包:tar cvf
wechat20150315.tar
[root@iz23whn33jnz webapps]# tar cvf wechat20150315.tar wechat
wechat/
wechat/tx_list.html
wechat/pay.html
wechat/css/swiper.min.css
wechat/css/youngor.css
wechat/myorder.html
......
[root@iz23whn33jnz webapps]# ls
docs examples host-manager manager root wechat wechat20150315.tar
這裡可以看到剛才打的tar包,打包完成後,接下來可以對線上的項目進行增删疊代了。
對項目版本的疊代,當然是改動越小越好,改動越小越安全越容易把控 , 是以呢,不要用本地環境的項目覆寫生産環境上的項目。
最好隻是對于某一個jar包的更改,或者某一個 .class 檔案的更改,確定改動最小。
對于替換 .class ,直接把本地編譯的對應的 .class 檔案替換到生産環境就可以了,然後重新開機服務。
對于替換 jar包 ,比如我們更改了 wechat-service.jar 中的一個檔案,那麼把 wechat-service.jar 解壓, 得到 wechat-service 檔案夾。
然後再替換檔案夾中對應的 .class 檔案。
然後在把這個更改過的檔案夾 wechat-service 打成 jar 包:
jar cvf wechat-service.jar -c wechat-service\ .
(結尾是 "\ ." 反斜杠+空格+英文句号)
這樣新的 jar 就出來了,把這個新打出的 jar 替換成生産環境上對應的 jar,就ok了。
在多人分工合作時,使用該方法較合理。
如果改動很大,如果能保證項目改動隻有自己,那麼也是可以覆寫的,畢竟改動大,一個一個替換 .class 檔案的工作量變大,出問題的幾率也更大。
如果還有别的部署方法一起分享,比如打成 war包 什麼的。