關於Ant與Maven(一)
upate time:2019-2-26 author:要你命三千又三千 type:學習筆記
Maven的使用
- 由來:
- 問題一:如何下載maven和安裝
- 問題二:why eclipse使用外部的Maven
- 問題三:如何使用外部Maven的版本
- 具體步驟
- 補充
- 如何從SCM倉庫中獲取去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建立的專案模板
- maven-archetype-quickstart 預設的Archetype,基本內容包括:
- 一個包含junit依賴宣告的pom.xml
- src/main/java主程式碼目錄及一個名為App的類
- src/test/java測試程式碼目錄及一個名為AppTest的測試用例
- 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.
依賴分析
相關文章
- maven與ant的區別Maven
- 關於mavenMaven
- 關於maven的一份小筆記Maven筆記
- 關於Mac配置安裝MavenMacMaven
- 關於使用maven打包如何聚合資原始檔Maven
- Maven、Gradle、Ant、Ivy、Bazel 和 SBT 的詳細對比MavenGradle
- 一個關於wait/notify與鎖關係的探究AI
- 關於eclipse慕名奇妙找不到maven了,preference裡邊maven意外消失,解決方法EclipseMaven
- Maven關於配置setting.xml出現的錯誤MavenXML
- 記一次 Ant Design Menu元件的使用與深入元件
- 1-ANT-安裝與配置
- Maven實戰與原理分析(一):maven超全使用指南總結Maven
- 基於Ant Design Vue封裝一個表單控制元件Vue封裝控制元件
- Hibernate基於Maven入門例項,與MyBatis比對MavenMyBatis
- Maven 依賴關係Maven
- React、Ant Design、DvaJS之間的關係ReactJS
- 關於排列熵的一些理解與解釋熵
- 關於平等與歧視
- Ant Design 元件 —— Form表單(一)元件ORM
- Ant Design的爬坑之路(一)
- 基於Maven的SSM總體架構設計(一)MavenSSM架構
- Maven實戰與原理分析(二):maven實戰Maven
- ant
- 關於openLADP的進一步瞭解(@Id與@DnAttribute)
- Maven 聚合與繼承Maven繼承
- 關於“心流”與“環境”
- GPU精粹與Shader程式設計(一):關於基礎物理渲染GPU程式設計
- 關於程式與執行緒的一個簡單解釋執行緒
- 關於Java健壯性的一些思考與實踐!Java
- 一份關於 Java、Kotlin 與 Android 的學習筆記JavaKotlinAndroid筆記
- 構建dubbo分散式平臺-maven構建ant-framework核心程式碼Base封裝分散式MavenFramework封裝
- 基於Maven的Spring整合CXFMavenSpring
- 關於一個最簡單的數獨解題實現與疑惑一
- linux maven安裝與配置LinuxMaven
- 關於JVM的組成與classloaderJVM
- 關於Javascript中的valueOf與toStringJavaScript
- Maven知識記錄(一)初識Maven私服Maven
- 基於Ant Design的可編輯Tree的實現