日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

Maven在日常應該是用得挺多的,畢竟我們都需要打包發布上線的嘛,但是剛畢業的時候可沒有這個概念。

我們肯定是知道Maven能管理我們的項目,但是在學習的時候往往只用到Maven來導入各種的依賴。

我們肯定是知道Maven是有對應的倉庫,然后我們配置了國內的Maven倉庫來讓jar包下載得更快。

我們可能會用Maven來編譯自己的項目,本地打好package,然后將項目在本地啟動起來。如果我們有一臺機器的服務器,打完包以后就將本地的war包手動上傳到自己的服務器上啟動。

我們可能會知道Maven可以配置自己的倉庫(私有倉庫),可能會搭建過,但是又有哪幾個人將自己的jar包發布到私有的倉庫呢?

去到公司里邊,公司一般也有自己的私有倉庫,我們寫的系統可能會被各個團隊使用的,所以我們會把寫好的包打到私有倉庫上。常用到的Maven命令其實不會很多,一般就是以下的幾個:

1、mvn compile 
2、mvn test 
3、mvn clean 
4、mvn pakage 
5、mvn install 
6、mvn deploy  
7、mvn versions:set -DnewVersion=xxxx  設置Maven的版本  
8、mvn dependency:tree  查看maven的依賴樹(排查依賴很有效)

常用參數
-Dmaven.test.skip=true
-Dmaven.JAVAdoc.skip=true

直接從網上摘錄以下package、install、deploy的區別:

  • package命令完成了項目編譯、單元測試、打包功能,但沒有把打好的可執行jar包(war包或其它形式的包)部署到本地maven倉庫和遠程maven私服倉庫
  • install命令完成了項目編譯、單元測試、打包功能,同時把打好的可執行jar包(war包或其它形式的包)布署到本地maven倉庫,但沒有布署到遠程maven私服倉庫
  • deploy命令完成了項目編譯、單元測試、打包功能,同時把打好的可執行jar包(war包或其它形式的包)部署到本地maven倉庫和遠程maven私服倉庫

一個工程下一般也會有多個Module,我們會用父工程的pom.xml來管理我們的jar包版本,在子Module引用父工程的就好了。

別傻乎乎地就將各種jar包的版本到子Module下寫,雖然jar包是肯定能導入進去了,但是這樣做不規范。

下面簡單體驗幾個最常用的命令(建議自己實操一下)

mvn compile -Dmaven.test.skip=true,這個命令會把我們的代碼編譯,編譯完我們如果使用IDEA就可以發現有target目錄

打包還在用jar,阿里技術專家教你用Maven打包發布上線項目

 

mvn package -Dmaven.test.skip=true就可以幫我們打包。

打包還在用jar,阿里技術專家教你用Maven打包發布上線項目

 

三歪一次不可描述的經歷

最近三歪在整合系統,把一些零散的系統整合到一個系統里邊,所以一個系統會出現多個Module。之前項目也是多個Module的,只是沒有現在的多,比如下面的圖

打包還在用jar,阿里技術專家教你用Maven打包發布上線項目

 

從上面的圖我們可以看到在父工程下有幾個配置文件,分別是dev/local/online/pre。很明顯地,我們不同的環境下,配置應該是不一樣的。

這應該很好理解,我們線上的服務器配置信息和測試環境的配置信息怎么可能相同嘛,所以各個環境的配置是分開的。

因為要做合并的事,我就把一些系統合并到父工程里邊去。所以我會在父工程下新建Module,然后把代碼拷貝進去。顯然,每個工程可能都會有相應的配置,然后配置也是區分環境的嘛。

比如下面的圖(sanwai.name這份配置由各個環境下的配置所去讀取):

打包還在用jar,阿里技術專家教你用Maven打包發布上線項目

 

我在各個環境下的配置文件都寫好了sanwai.name的值了

打包還在用jar,阿里技術專家教你用Maven打包發布上線項目

 

等我一切寫完的時候,我發現服務一直啟動不起來,始終沒有讀到我在dev/local/pre/online配置的值。我就很懷疑了,明明我配置了呀。

Spring的property-placeholder我明明都已經寫好了,路徑都沒有任何問題,在本地都能直接「點」去跳轉到對應的配置文件了。這咋回事啊

<context:property-placeholder
   ignore-unresolvable="true" ignore-resource-not-found="true"
   location="classpath*:core-config.properties" />

于是,我花了很長的一段時間上看我的property-placeholder是不是有問題,是不是我哪里的使用姿勢不對。

最后實在忍不住了,問了一下同事有沒有遇到過這個坑,然后同事告訴我:分環境讀取配置不是Spring的功能,是Maven

我:????然后在內網搜了一下,還真的是。大概看了一下,其實就是用到了Maven的profile功能。

后來在pom文件下指定讀取對應的配置文件路徑,就可以了。

<build>
   <resources>
      <resource>
         <directory>src/main/resources</directory>
         <filtering>true</filtering><!-- 是否使用過濾器 -->
      </resource>
   </resources>
</build>

其實就是在打包的時候去指定不同的環境,從而生成一份正確的配置文件。

mvn clean package -DskipTests -Ptest   // 指定的是test環境

那么按道理,只要我發布上線過代碼,就應該知道有這么一個東西啊。

我司有自己的一套發布系統,把很多的細節都給屏蔽掉了(無論是Git還是Maven的細節都屏蔽了很多)。壓根就不需要自己去打命令去創建Git分支,去合并master分支,去敲maven的命令打包。

打包還在用jar,阿里技術專家教你用Maven打包發布上線項目

 

最后在這里推薦一本Maven實戰文檔

本書適合所有Java程序員閱讀。由于自動化構建,依賴管理等問題并不只存在于Java世界,因此非Java 程序員也能夠從該書中獲益。無論你是從未接觸過Maven、還是已經用了Meven很長時間,亦或者想要擴展Maven,都能從本書獲得有價值的參考建議。

其次,本書也適合項目經理閱讀,它能幫助你更規范、更高效地管理Java項目。

第1章對Maven做了簡要介紹,通過-些程序員熟悉的例子介紹了Maven 是什么,為.什么需要Maven.建議所有讀者都閱讀以獲得一個大局的印象。

打包還在用jar,阿里技術專家教你用Maven打包發布上線項目

 

 

第2-3章是對Maven的一個人門介紹,這些內容對初學者很有幫助,如果你已經比較熟悉Maven,可以跳過。

打包還在用jar,阿里技術專家教你用Maven打包發布上線項目

 


打包還在用jar,阿里技術專家教你用Maven打包發布上線項目

 

第4章介紹了本書使用的背景案例,后面的很多章節都會基于該案例展開,因此建議讀者至少簡單瀏覽一遍。

打包還在用jar,阿里技術專家教你用Maven打包發布上線項目

 

第5-8章深人闡述了Maven 的核心概念,包括坐標,依賴、倉庫。生命周期、插件,繼承和多模塊聚合,等等,每個知識點都有實際的案例相佐,建議讀者仔細閱讀。

 

打包還在用jar,阿里技術專家教你用Maven打包發布上線項目

 


打包還在用jar,阿里技術專家教你用Maven打包發布上線項目

 

第9章介紹使用Nexus建立私服,如果你要在實際工.作中使用Maven,這是必不可少的。

打包還在用jar,阿里技術專家教你用Maven打包發布上線項目

 

第10-16章介紹了一些相對高級且離散的知識點,包括測試,持續集成與Hudon, Web項目與自動化部署、自動化版本管理、智能適應環境差異的靈活構建、站點生成,以及Maven的Eelipse插件m2elipe,等等。讀者可以根據自己實際需要和興趣選擇性地閱讀。

打包還在用jar,阿里技術專家教你用Maven打包發布上線項目

 


打包還在用jar,阿里技術專家教你用Maven打包發布上線項目

 


打包還在用jar,阿里技術專家教你用Maven打包發布上線項目

 


打包還在用jar,阿里技術專家教你用Maven打包發布上線項目

 

第17-18章介紹了如何編寫Archeype和Maven插件。一般的Maven用戶在實際工作中往往不需要接觸這些知識,如果你需要編寫插件擴展Maven,或者需要編寫Archetype維護自己的項目骨架以方便團隊開發,那么可以仔細閱讀這兩章的內容。

打包還在用jar,阿里技術專家教你用Maven打包發布上線項目

 

 

分享到:
標簽:阿里 技術
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定