【Maven】基礎概念

Maven 概念與作用

概念:Maven 是一個基於 Java 平臺的 自動化構建工具,可以將一堆原材料(java、js、css、html、圖片等資源)變成一個產品(可發佈項目)。

簡單來說,Maven 有兩個作用:

  • 管理 Jar 包
  • 將項目拆分成若干個模塊

管理 Jar 包

以往,我們增加 Jar 包都要通過下載 Jar 文件,然後將之放到 lib 文件中。而 Jar 包之間也有着依賴關係,例如我們要使用 commons-fileupload.jar 的話我們還需要 commons-io.jar ,實際上,核心是依靠第一個 jar 包,但是第一個 jar 包依賴於第二個,因此,我們兩個 jar 包都需要下載,並且版本還需要相互對應,若版本錯誤可能會引發各種問題。由此可見,Jar 包的使用是一件十分繁瑣的事情。因此,我們引入了 Maven 來管理 Jar 包。 通過 Maven,我們無需自己去下載 Jar 包,Maven 可以自動下載 Jar 包。並且,若某個 Jar 包依賴於其他 Jar 包,Maven將會自動關聯下載該 Jar 包所有依賴的 Jar 包,而且不用擔心版本不對應的問題

將項目拆分成若干個模塊

一般一個項目需要 UI 層Service 層Dao 層,每層各自作爲一個模塊(項目),當我們完成各個模塊後,可以通過 Maven 可以將多個項目合成爲一個項目。

Maven 可以做的事情

  • 清理
    刪除編譯的結果,爲了重新編譯做準備。
  • 編譯
    將 java 文件變爲 class 文件。
  • 測試
    針對於項目中的關鍵點進行測試,也可用項目中的測試代碼去測試開發代碼。
  • 報告
    將測試的結果進行顯示。
  • 打包
    將項目中包含的多個文件壓縮成一個文件,用於安裝或部署。(java項目-jar、web項目-war)
  • 安裝
    將打包後的結果,放到本地倉庫,供其他項目使用。
  • 部署
    將打包後的結果,放到服務器上準備運行。

一些其他概念:

  • 本地倉庫
    無需聯網,位於電腦上用來存放項目所需要的jar包。
    當項目中需要某個 Jar 包時,首先來到本地倉庫,若本地倉庫有則直接拿來用,否則需要聯網去中央倉庫下載。
  • 中央倉庫(遠程倉庫)
    需要聯網,網絡上專門的人管理的倉庫,擁有大部分的 Jar 包。
  • 中央倉庫鏡像
    對中央倉庫的分流操作,減輕中央倉庫的壓力。 例如,不同地區的人可以到不同地區的中央倉庫鏡像去下載,而無需都到同一個中央倉庫。

部署

  • Eclipse 中部署的 web 項目可以運行。將 Eclipse中的項目,複製到 tomcat/webapps 中卻不能運行。
  • 項目可以在 webapps 中直接運行。Eclipse中的項目,在部署時會生成一個對應的部署項目(在wtpwebapps中)。
    區別在於:部署項目沒有源碼文件 src(java),只有編譯後的 class 文件和 jsp 文件。由於二者目錄結構不一致,因此 tomcat 中無法直接運行 Eclipse 中複製過來的項目。(因爲如果要在 tomcat 中運行一個項目,則該項目必須嚴格遵循 tomcat 的目錄結構)
  • Eclipse 中的項目要在 tomcat 中運行,就需要部署
    a.通過 Eclipse 中 Add and Remove 按鈕進行部署。
    b.將Web項目打成一個war包,然後將該war包複製到 tomcat/webapps 中即可執行運行。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章