關於Ant與Maven(一)

zhangge3663發表於2020-10-27

upate time:2019-2-26 author:要你命三千又三千 type:學習筆記

 

Maven的使用

 

由來:

當一個程式碼專案大了以後,每次重新編譯、打包、測試等都會變得非常複雜而且重複,因此c語言中有make指令碼來幫助這些工作的批量完成。在Java 中應用是平臺無關性的,當然不會用平臺相關的make指令碼來完成這些批處理任務了,ANT本身就是這樣一個流程指令碼引擎,用於自動化呼叫程式完成專案的編譯、打包、測試等。

Ant和Maven都是基於Java的構建(build)工具。Ant是軟體構建工具, Maven是一個專案管理和綜合工具。Maven提供了開發人員構建一個完整的生命週期框架。開發團隊可以自動完成專案的基礎工具建設,Maven使用標準的目錄結構和預設構建生命週期

Ant

Ant構建檔案預設命名為build.xml

特點:

  • 沒有一個約定的目錄結構
  • 必須明確讓ant做什麼,什麼時候做,然後編譯,打包
  • 沒有生命週期,必須定義目標及其實現的任務序列
  • 沒有整合依賴管理

Maven(軟體專案管理和理解工具)

Maven預設構建檔案為pom.xml

特點:

  • 擁有約定,知道你的程式碼在哪裡,放到哪裡去
  • 擁有一個生命週期,例如執行 mvn install 就可以自動執行編譯,測試,打包等構建過程
  • 只需要定義一個pom.xml,然後把原始碼放到預設的目錄,Maven幫你處理其他事情
  • 擁有依賴管理,倉庫管理

問題一:如何下載maven和安裝

Maven 下載地址:http://maven.apache.org/download.cgi
百度網盤:對應的windows版本下載
在這裡插入圖片描述

問題補充

如何配置環境

在這裡插入圖片描述

問題二:why eclipse使用外部的Maven

原因:要使用外部的Maven版本

關鍵:內嵌的版本,不穩定,出現版本問題(版本不可控)。
在這裡插入圖片描述

問題三:如何使用外部Maven的版本

具體步驟

第一步:下載對應的二進位制版本
根據上圖說明:
百度網盤:對應的windows版本下載

第二步:看圖依次完成新增步驟在這裡插入圖片描述 步驟四:

新建MavenProject專案
在這裡插入圖片描述

在這裡插入圖片描述

問題:如何解決下載慢(卡住的)的問題

具體步驟

找到對應的全域性配置檔案所在的位置
在這裡插入圖片描述
開啟setting.xml
新增阿里雲映象

<mirrors>
    <mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>        
    </mirror>
</mirrors>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

步驟三:開啟強制更新
專案右鍵——>Maven----->Update project—>勾選force update
在這裡插入圖片描述
此時專案更新加快,很快完成。

補充

問題一:如何選擇使用Maven建立的專案模板

  1. maven-archetype-quickstart 預設的Archetype,基本內容包括:
  • 一個包含junit依賴宣告的pom.xml
  • src/main/java主程式碼目錄及一個名為App的類
  • src/test/java測試程式碼目錄及一個名為AppTest的測試用例
  1. maven-archetype-webapp 一個最簡單的Maven war專案模板,當需要快速建立一個Web應用的時候可以使用它。生成的專案內容包括:
  • 一個packaging為war且帶有junit依賴宣告的pom.xml
  • src/main/webapp/目錄
  • src/main/webapp/index.jsp檔案
  • src/main/webapp/WEB-INF/web.xml檔案

檢視ecplise中maven倉庫檢視

開啟檢視倉庫中所有的Maven倉庫及其下載的檔案。
在這裡插入圖片描述

如何從SCM倉庫中獲取去maven 專案

操作方法:先從遠端下載下來,然後再次匯入客戶端。

概念簡介

SCM(軟體配置管理)倉庫
具體的工具有:
CVS ,Git :,Mercurial ,Subversion

Mercurial是一個版本管理系統,官方網站https://www.mercurial-scm.org/ 功能和git差不多,同樣是一個分散式版本管理系統。在github推出之後,bitbucket.org提供Mercurial版的程式碼託管服務,後來bitbucket被Atlassian收購,後bitbucket也推出Git版的程式碼託管服務。
在這裡插入圖片描述

問題解決方法的補充

關於在SCM 倉庫中下載問題,可以自行下載,然後在本地系統中匯入專案即可。

關於幾個概念

Effective POM概念

可以顯示所有的有效的POM配置,表示合併整個整合結構中所有資訊的POM
在這裡插入圖片描述

Maven下載 依賴專案的原始碼

方法一:右擊專案–>選擇Maven—>選擇Download Source(下載當前專案的依賴下載的原始碼)。
方法二:windows–>preferences–>Maven–>下載download Artifact sources.
在這裡插入圖片描述

依賴分析

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

相關文章