公司來了一個low逼程序員

往期推薦

前言

某天你新入職一家公司,領導說第一件事,你先把自己的環境搭建好吧。

於是你裝了JDK,裝好maven,裝好IDEA開發環境,導入工程和項目,然而發現整個工程一片飄紅,jar包衝突,項目path不對,maven包找不到依賴。。。

各類問題紛至沓來,半天時間過去了,你滿頭大汗,項目還是不能啟動?怎麼辦?身邊陌生的同事不時投來詢問的目光,彷彿在說,“來了一個low逼,一個開發環境都不會搞”。

這是我第一天去上班的情景,怎麼樣,你是否似曾相識?那問題來了,我們到底是哪裡功力不到呢?這就是今天要說的,當今java項目的基石---Maven,那麼關於Maven,我們要了解哪些呢?都在下面:

關於Maven我們需要知道:

  1. 本地倉庫?Maven到底有哪些倉庫?它們什麼關係?
公司來了一個low逼程序員


本地倉庫路徑配置

  1. 關於<dependency>的使用/<dependency>
公司來了一個low逼程序員


依賴管理

  1. Maven為什麼會出現依賴衝突?如何處理依賴衝突?
  2. 引入依賴的最佳實踐,提前發現問題!

在工程中,我們避免不了需要加一些依賴,也許加了依賴後運行時才發現存在依賴衝突在去解決,似乎有點晚!那麼能不能提前發現問題呢?

如果我們新加入一個依賴的話,那麼先通過mvn dependency:tree命令形成依賴樹,看看我們新加入的依賴,是否存在傳遞依賴,傳遞依賴中是否和依賴樹中的版本存在衝突,如果存在多個版本衝突,利用上文的方式進行解決!

  1. Maven規範化目錄結構
公司來了一個low逼程序員

  1. Maven的生命週期
公司來了一個low逼程序員


Maven生命週期

我們只需要注意一點:執行後面的命令時,前面的命令自動得到執行。實際上,我們最常用的就是這麼幾個:clean:有問題,多清理!package:打成Jar or War包,會自動進行clean+compileinstall:將本地工程Jar上傳到本地倉庫deploy:上傳到私服

  1. 關於scope依賴範圍
  2. 不同環境使用不同配置:Profile+Filter
  3. 多模塊開發:繼承與聚合
  4. 私服

私服,我們對其的印象,就如上圖所示。其實在日常中,我們對於私服的操作主要在於:

第一:可以搜索依賴座標得到XML片段;

第二:deploy 依賴到私服以及從私服下載依賴;

私服倉庫類型:

group:一個倉庫組,說白了,就是幾個倉庫的集合。hosted:宿主倉庫,存儲公司內部開發的jar,分為Releases/Snapshots。proxy:用於代理中央倉庫。

在互聯網項目開發中,尤其Java板塊,Maven十分常見。Maven的倉庫管理、依賴管理、繼承和聚合等特性為項目的構建提供了一整套完善的解決方案。如果你不懂Maven,遇到多模塊的項目,依賴衝突就會讓你(被水淹沒)不知所措,甚至搞不懂項目的運行原理。你有沒有被Maven“傷害”過?

我這邊整理了一些關於Maven以及java的學習進階資料

公司來了一個low逼程序員


公司來了一個low逼程序員

需要領取資料的小夥伴,點關注+私信【資料】免費獲取~


分享到:


相關文章: