Maven~入門介紹

1)功能:
  (1)解決jar包衝突
	(2)...等

2)傳統web工程crm: jar包在項目中

3)maven開發的crm項目(大大節省了空間,實現了代碼可重用): 
   	jar包不在項目中,而在jar包倉庫中;
   	jar包的座標-->找對應的jar包;

4)Maven的核心功能: 依賴管理(利用jar包的座標)

5)一鍵構建:
  傳統: 編譯、測試、運行、打包、安裝、部署...

  maven:
  	工程中pom.xml中有jar包的座標

  運行: mvn tomcat:run

6)maven是一個壓縮包,並不是像QQ那樣的exe文件

7)mvn必然有tomcat插件,因爲mvn可以有自己的tomcat來構建項目的

8)安裝maven
MAVEN_HOME
JAVA_HOME
mvn -v

9)尋找jar的過程
   (1)先在本地xxx/.m2/xxx
   (2)聯網後,在中央倉庫下載

   在公司中: (3)遠程倉庫【私服】: 
   	    		只要自己的電腦和私服的IP在同一個局域網

   	    		遠程倉庫-->遠程倉庫下載jar包
   	    			或者
   	    		自己上傳的方式獲取jar包

10)自己私有中央倉庫後,可以直接啓動;

11)1個完整的maven項目組成部分:
  核心代碼部分;
  配置文件部分-->不打到jar包內;
  測試代碼部分;
  測試配置文件;

12)傳統工程目錄
  src目錄

  沒有一個統一的規範:
    config
    resources

13)maven項目標準目錄結構:
  src/main/java目錄: 核心代碼部分;
  src/main/resources目錄: 配置文件部分;
  src/test/java目錄: 放測試代碼部分;
  src/test/resources: 測試配置文件;

  web工程:
    src/main/webapp: js、css、圖片等

14)maven常用命令:
  (1)mvn clean
    把target目錄給刪掉;

    把編譯好的項目信息刪除掉;

    目的: 接着別人的項目開發,導入到自己的開發環境,必須把別人本地編譯的信息刪除,
            因爲我們每個人的開發環境不一定是相同的;

  (2)mvn compile
    target目錄又一次出現了:
      classes
      ...

    目的: 編譯的是src/main下面的java代碼,編譯後放到target目錄下;

  (3)mvn test
    test-classes: 編譯了test下面的java代碼爲class文件到target目錄下; 

    注意: 也編譯了src/main下面的代碼到target下;

  (4)mvn package
    target目錄再次生成, 同時把java下面的代碼和test下面的代碼都編譯了;
    packageing  war: 指定了打成了war包;

  (5)mvn install
    安裝的意思:
      編譯各種文件,打了個war包;
      還做了個: 把包安裝到了本地倉庫;

    可見,做的工作是: compile、test、package之後,打了個包放到了本地倉庫;

15)Maven生命週期:
    1:利用自身集成的Tomcat插件構建:
      (1)編譯(mvn compile)
      (2)測試(mvn test)
      (3)打包(mvn package)
      (4)安裝(mvn isntall)

      (5)發佈(mvn deploy):
          deploy想執行,必須進行配置, 而前4個可以隨時執行;
            然而,並非一個項目都在我們自己的機器上 編譯-->發佈 全流程,因此在用別人開發的結果在
              我們機器上編譯,必須先mvn clean清除一下項目編譯信息;

      這5個命令的關係: 默認生命週期. 還有個站點生命週期(不常用).

    2:構建項目之前,必須先mvn clean,把之前編譯信息清除掉;
      從剛出生-->老年的過程;


    清理生命週期
    默認生命週期(重點)
    站點生命週期

16)Maven概念模型圖:
    (1)項目對象模型(pom.xml):
    	1:項目自身的座標:
    		groupId
    		artifactId
    		version

    	2:dependency(項目自身運行依賴的jar包)
    		獨立出來又叫做: 依賴管理模型(Dependency), 裏面放置的全是jar包的座標(3個信息):
    			groupId(公司組織的名稱)
    			artifactId(項目名)
    			version(版本號)


    		local: 本地倉庫找jar包
    		center: 中央倉庫找jar(聯網)
    		b2b: 私服遠程倉庫

    		再找不到,則需要從本地上傳jar包
    		

    	3:plugin(運行環境信息)
    		jdk的插件
    		tomcat的插件

    (2)默認生命週期
    	compile
    	test
    	package
    	install
    	deploy

    	每一個構建項目的命令都對應了maven底層的一個插件

17)Maven2大核心功能:

	一鍵構建

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章