maven打包tar.gz包第一篇

自寫簡書來,maven打包依賴到lib目錄下是訪問量最多的一篇,故打算比較系統(tǒng)的來講講maven將項目打包成一個tar.gz包的方式,最終所有的子項目只需要在pom.xml中,導入<parent>模塊,并選中對應的打包方式與運行環(huán)境,執(zhí)行maven package即可。
image.png

在介紹clife-data-parent項目前,先來講講打包方式與運行環(huán)境的區(qū)別:


一、打包方式


1.build-app與build-spark

  由于這兩種打包方式都是打包成一個tar.gz包,存在很大的相似性,所以放在一起講。這里以build-app為例,首先來瞧瞧打包后的包結構:
image.png

 1).bin目錄

  用來存放當前項目的啟動腳本,如圖:


image.png

2).conf目錄,存放當前項目的配置文件
 3).lib目錄:存放項目依賴以及當前項目代碼,如下圖:


image.png

  build-spark與build-app生成的包,主要區(qū)別在bin下的腳本內(nèi)容不一樣,以及主項目jar,與bin同一級目錄,不能存在與lib目錄內(nèi),如下圖:
image.png

2.build-jar
  這種打包方式就是將當前項目打包成一個單獨的jar文件,不包含依賴,以供其他項目導入。如果進行maven install到共同的maven倉庫,其他開發(fā)人員只需要配置對應的maven倉庫即可引入這個jar,這種模式對于工具包和服務依賴上存在很好的解耦性。
3.build-web

  這是將項目打包成一個war包,在java web開發(fā)很常用。


二、運行環(huán)境


對于運行環(huán)境,這里很好理解,一般正常的項目發(fā)布環(huán)境流程包含了:開發(fā)->測試->預發(fā)布->正式,不同的環(huán)境具體的配置項會存在差異,這里通過resource-xxx來進行環(huán)境的區(qū)分,默認打包resource,勾選不同額環(huán)境,在打包后cong目錄下就會打包不同環(huán)境下的配置文件。當然,這種配置管理的方式并不是最優(yōu)的,這里推薦使用百度的disconf,具體如何使用參照百度disconf接口文檔。

image.png

這種項目打包方式,1.可以有效的減少項目發(fā)布時的人工操作;2.可以解耦多項目間的耦合性;3.對于協(xié)同開發(fā)有著很好的作用。下一次來具體講講parent模塊。

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,545評論 19 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,268評論 6 342
  • feisky云計算、虛擬化與Linux技術筆記posts - 1014, comments - 298, trac...
    不排版閱讀 4,332評論 0 5
  • 簡介 概述 Maven 是一個項目管理和整合工具 Maven 為開發(fā)者提供了一套完整的構建生命周期框架 Maven...
    閩越布衣閱讀 4,531評論 6 39
  • 午飯過后,沿著開發(fā)區(qū)走了一圈,陽光耀眼外,便是路邊景色的迷人。蝴蝶蘭、油菜花、不知名的樹新葉是紅色的,顏色...
    唐的譜閱讀 282評論 0 0

友情鏈接更多精彩內(nèi)容