Maven例項講解教程,從零開始學Maven,帶你快速入門!
Maven是Apache軟體基金會組織維護的一款自動化構建工具,專注服務於Java平臺的專案構建和依賴管理。
Maven這個單詞的本意是:專家,內行,讀音是['meɪv(ə)n]或['mevn]。
Maven 是目前最流行的自動化構建工具,對於生產環境下多框架、多模組整合開發有重要作用,Maven 是一款在大型專案開發過程中不可或缺的重要工具,Maven通過一小段描述資訊可以整合多個專案之間的引用關係,提供規範的管理各個常用jar包及其各個版本,並且可以自動下載和引入專案中。
Maven功能
Maven能夠幫助開發者完成以下工作:
- 構建
- 文件生成
- 報告
- 依賴
- SCMs
- 釋出
- 分發
- 郵件列表
- 約定配置
Maven提倡使用一個共同的標準目錄結構,Maven使用約定優於配置的原則,大家儘可能地遵守這樣的目錄結構。
如下所示:
目錄 |
目的 |
${basedir} |
存放pom.xml和所有的子目錄 |
${basedir}/src/main/java |
專案的java原始碼 |
${basedir}/src/main/resources |
專案的資源,比如說property檔案,springmvc.xml |
${basedir}/src/test/java |
專案的測試類,比如說Junit程式碼 |
${basedir}/src/test/resources |
測試用的資源 |
${basedir}/src/main/webapp/WEB-INF |
WEB-INF web應用檔案目錄,web專案的資訊,比如存放web.xml、本地圖片、jsp檢視頁面 |
${basedir}/target |
打包輸出目錄 |
${basedir}/target/classes |
編譯輸出目錄 |
${basedir}/target/test-classes |
測試編譯輸出目錄 |
Test.java Maven |
只會自動執行符合該命名規則的測試類 |
~/.m2/repository |
Maven預設的本地倉庫目錄位置 |
Maven特點
- 專案設定遵循統一的規則。
- 任意工程中 共享。
- 依賴管理包括自動更新。
- 一個龐大且不斷增長的庫。
- 可擴充套件,能夠輕鬆編寫Java或指令碼語言的外掛。
- 只需很少或不需要額外配置即可即時訪問新功能。
- 基於模型的構建−Maven能夠將任意數量的專案構建到預定義的輸出型別中,如JAR,WAR或基於專案後設資料的分發,而不需要在大多數情況下執行任何指令碼。
- 專案資訊的一致性站點−使用與構建過程相同的後設資料,Maven能夠生成一個網站或PDF,包括您要新增的任何文件,並新增到關於專案開發狀態的標準報告中。
- 釋出管理和釋出單獨的輸出−Maven將不需要額外的配置,就可以與原始碼管理系統(如Subversion或Git)整合,並可以基於某個標籤管理專案的釋出。它也可以將其釋出到分發位置供其他專案使用。Maven能夠釋出單獨的輸出,如JAR,包含其他依賴和文件的歸檔,或者作為原始碼釋出。
- 向後相容性−您可以很輕鬆地從舊版本Maven的多個模組移植到Maven 3中。
- 子專案使用父專案依賴時,正常情況子專案應該繼承父專案依賴,無需使用版本號,
- 並行構建−編譯的速度能普遍提高20-50%。
- 更好的錯誤報告−Maven改進了錯誤報告,它為您提供了Maven wiki頁面的連結,您可以點選連結檢視錯誤的完整描述。
零基礎學習Maven,推薦動力節點的maven實戰教程,講解全面,適合學習入門,通俗易懂。
資料見評論區!!!
學習目錄
- 軟體工程和maven
- maven能幹什麼
- 構建
- maven核心概念
- maven安裝
- 約定目錄結構
- maven下載做了什麼
- 修改本地倉庫地址
- 複習
- 倉庫概念倉庫分類
- pom檔案分析-座標
- pom檔案分析-依賴
- maven生命週期
- 單元測試junit
- maven命令-編譯
- maven命令-測試-打包-安裝
- 編譯外掛配置
- idea中設定maven
- idea新建工程設定maven
- idea建立javase專案
- 使用單元測試
- 使用idea中maven工具視窗
- idea建立web專案
- 複習前天課程
- 複習maven核心概念
- 常用技巧
- 依賴範圍
- 依賴範圍provided
- maven常用屬性
- 資源外掛
- 課程最後補充文件
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70007020/viewspace-2850811/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 帶你從零開始,快速學會 Matlab GUIMatlabGUI
- MyBatis基於Maven入門例項MyBatisMaven
- Maven入門教程Maven
- Maven快速入門(五)Maven的依賴管理Maven
- 從零開始寫Java Web框架——maven 外掛JavaWeb框架Maven
- Maven 教程之入門指南Maven
- maven 學習總結(一)——Maven入門Maven
- Maven快速入門(四)Maven中的pom.xml檔案詳解MavenXML
- Maven入門詳解Maven
- Maven 5 分鐘入門教程Maven
- 從零開始入門 K8s | Kata Containers 創始人帶你入門安全容器技術K8SAI
- Maven入門Maven
- Hibernate基於Maven入門例項,與MyBatis比對MavenMyBatis
- Maven實戰入門視訊教程-解析maven多模組管理Maven
- 從零開始入門 K8s | 手把手帶你理解 etcdK8S
- 從零開始通過 Artifactory 搭建公網的 maven 倉庫Maven
- 一張圖帶你解讀 -- 如何從零開始學習介面自動化
- maven學習(上)- 基本入門用法Maven
- 《Spring Boot從零開始學(視訊教學版)》快速入門Spring Boot應用開發Spring Boot
- Maven入門基礎Maven
- Maven入門指南(一)Maven
- React 入門例項教程React
- 從零開始學WEB前端——網頁的骨架——HTML理論講解Web前端網頁HTML
- phaser3入門教程-從零開始開發一個打磚塊遊戲遊戲
- 快速入門大模型技術與應用,推薦你從Stable Diffusion開始學起大模型
- 從零開始學機器學習——瞭解迴歸機器學習
- 從零開始學 Web 之 Vue.js(三)Vue例項的生命週期WebVue.js
- 結合例項學習F#(一) --快速入門
- 好程式設計師Python教程從零開始學Python系列-第2講程式設計師Python
- Maven 教程(21)— maven-compiler-plugin 外掛詳解MavenCompilePlugin
- Maven外掛開發教程Maven
- Cris 帶你快速入門 Flink
- samrty學習快速上手教程+例項
- 從零開始學習KafkaKafka
- 從零開始學習機器學習機器學習
- 【ROS】從零開始學ROSROS
- 從零開始學習laravelLaravel
- 從零開始學PythonPython