(一)Java工程化--Maven基礎
阿新 • • 發佈:2018-07-24
更新 version -128 org ups 管理 pom http pro
MAVEN 讀作 [?mev?n] 翻譯為中文是”內行, 專家”
一. Maven是什麽
1. 包依賴的發展歷史: 原始的jar包導入—>ant—>maven. 是一種項目管理工具.
2. 優勢:
- convention over configuration 約定優於配置; 這個原則不僅用於maven, 更是目前大多框架如mvc等遵循的原則.
- 簡單
- 易於測試
- 構建簡單
- CI(持續集成)
- 插件豐富
二. 下載和安裝
下載:http://maven.apache.org/download.cgi
安裝: 解壓安裝即可
配置環境變量:
- windows path MAVEN_HOME
- linux .bash_profile
- 運行參數 通過環境變量設置 MAVEN_OPTS
- 配置 settings.xml settings.xml文件是個空的模板,我們可以在此做些自定義配置,如repo存儲目錄<localRepository>,mirror鏡像地址,以及proxy配置<proxies>, 插件<pluginGroups>,私服配置(用戶名密碼等)<servers>, 環境<profile>
查找順序:
三. 創建maven項目
- 項目結構 約定優於配置
- pom.xml
groupId 公司組織
artifactId 功能命名
version 版本號
packaging 打包方式, 默認jar;
dependancyManagement 最好只出現在父pom裏面, 用於統一版本號, 只做聲明依賴,子模塊使用時還需要引用,但不需做version指定了.
dependancy
type 默認jar
scope 指定哪個階段使用
- complie 編譯,打包 默認 如spring-core
- test 測試 如spring-test
- provided 編譯 如servlet
- runtime 運行時 如JDBC驅動實現包
- system 本地一些jar
- 依賴傳遞
- 依賴仲裁, (1)最短路徑原則, 根據依賴樹,就近取依賴樹中最接近的那個版本;(2)加載順序原則,相同的路徑按加載順序優先的;(3)exclusions 排除包
版本號更新插件,否則需要各模塊修改pom
命令: mvn dependancy:tree 查看依賴樹
四. Maven生命周期(三個過程)
區分術語: lifecycle phase goal
clean 包含的phase: pre-clean—> clean –> post-clean
default compile package install deploy ….
site pre-site—>site—>post-site –> site-deploy
1. A Build Lifecycle is Made Up of Phases 一個構建生命周期是有多個phase組成
2. A Build Phase is Made Up of Plugin Goals 一個構建phase是由多個插件目標goal構成
(一)Java工程化--Maven基礎