咕泡maven筆記

認識mavenhtml

  • 約定優於配置
  • 簡單
  • 測試支持
  • 構建簡單
  • 插件豐富
  • 持續集成

配置setting.xmlspring

  • 配置國內鏡像
<mirror>  
		  <id>alimaven</id>  
		  <name>aliyun maven</name>  
		  <url>http://maven.aliyun.com/nexus/content/groups/public/</url>  
		  <mirrorOf>central</mirrorOf>          
		</mirror> 
		<mirror>
			<id>ui</id>
			<mirrorOf>central</mirrorOf>
			<name>Human Readable Name for this Mirror.</name>
			<url>http://uk.maven.org/maven2/</url>
		</mirror>
		<mirror>
            <id>osc</id>
            <mirrorOf>central</mirrorOf>
            <url>http://maven.oschina.net/content/groups/public/</url>
        </mirror>
        <mirror>
            <id>osc_thirdparty</id>
            <mirrorOf>thirdparty</mirrorOf>
            <url>http://maven.oschina.net/content/repositories/thirdparty/</url>
        </mirror>
  • 加載順序(後加載會覆蓋前面的設置)

pom.xmlapache

  • groupId   com.gupaoedu
  • packaging  打包方式 默認是jar
  • version 版本號
  • artfactId 功能命名
  • dependencyManagement
    • 最好只出如今父pom
    • 統一版本號
    • dependency聲明 (POM裏用到再引)
  • Dependency
    • Type  默認jar
  • Scope(使用場景)
    • compile  編譯 默認,都用本範圍,包會打的很大)  例如spring-core
    • test 測試
    • provided編譯不會打包  例如 servlet
    • runtime運行時纔有效,編譯時不用的包(就是不須要編譯的包) 例如JDBC驅動實現
    • system 本地一些jar,不在maven的中央倉庫  例如短信jar
    • 依賴傳遞pom依賴於父pom,若是父pom已經引用了某個jar包,子pom不須要再引用
      • 查看pom   tree命令:  mvn dependency:tree > d.txt

依賴仲裁tomcat

  • 最短路徑原則依賴節點數少的
  • 加載前後原則使用後加載,書寫順序

使用versions-maven-plugin插件統一修改多個moudle版本號maven

exclusionside

  • 排除包(解決衝突的時候使用,排除掉衝突的jar)

​​​​​​​生命週期測試

  • lifecycle,包含多個phase,包含多個goals
    • ​​​​​​​A Build Lifecycle is Made Up of Phases階段
    • A Build Phase is Made Up of Plugin Goals咱們寫的插件都是goals,須要掛在mavenPhase 下,好比packageinstall ​​​​​​​
  • 以下所示,goals掛在 install上面

  • Maven作的任何事情均可以是一個plugin
  • 每個階段都會運行以前的全部階段

版本管理網站

  • 1.0-SNAPSHOT(測試版本,遠程SNAPSHOT變化,本地倉庫不會隨時刷新,先刪除本地,再去拉一次,或以下 -U強拉)
  • mvn clean package -U (強制拉一次)
  • 主版本號.次版本號.增量版本號-<里程碑版本>
  • 1.0.0-RELAESE不要發佈SNAPSHOT由於能夠被替換,release版本,必須升級版本,不會覆蓋

經常使用命令ui

  • Compile編譯,存在於maven內置插件裏面,默認就帶的
  • clean    刪除target/ (文件夾下的全部東西清理)
  • test       test case junit/testNG運行這倆相關的程序
  • package 打包(打包依據<packaging>pom</packaging>
  • install    把項目installlocal repo
  • deploy    發本地jar發佈到remote

插件this

maven插件官網  或者 mojo插件網站

  • findbugs 插件:靜態代碼檢查
  • versions 統一升級版本號
    • ​​​​​​​mvn versions:set -DnewVersion=1.1
  • source插件 打包源代碼
  • assembly 打包zipwarwith dependency這樣全部用到的jar包都會打到你的包裏面
  • tomcat7(maventomcat插件,不用在另外下載)

自定義插件

  • ​​​​​​​打包方式:<packaging>maven-plugin</packaging>

  • 能夠採用命令行的形式將參數傳入

​​​​​​​

相關文章
相關標籤/搜索