Maven

  1. Maven簡單介紹
    Apache Maven是個項目管理和自動構建工具,基於項目對象模型(POM)的概念。
    作用:完成項目的相關操作,如:編譯,構建,單元測試,安裝,網站生成和基於Maven部署項目。

  2. 什麼是自動構建工具?
    2.1 .java->.class->run
    方式一
    javac HelloWorld.java
    java HelloWorld

    方式二
    開發工具Eclipse

2.2 如何創建一個struts2的WEB項目(全手動添加相關jar包,還要設置構建路徑)

  1. 常用的自動構建工具
    ant
    maven
    Gradle android項目管理和構建已使用

  2. Maven安裝與配置
    4.1 下載maven安裝包,解壓即可使用
    http://maven.apache.org/download.cgi

4.2 配置maven環境變量
4.2.1 MAVEN_HOME
4.2.2 M2_HOME
4.2.3 修改path添加maven相關路徑
配置方式跟jdk有些類似,環境變量MAVEN_HOME和M2_HOME的值爲maven的根目錄、
然後在PATH環境變量里加入“%MAVEN_HOME%\bin;%M2_HOME%\bin;”即可

4.3 驗證
doc窗口執行命令“mvn –version”

技術棧架構

4.4 修改“MAVEN_HOME\config”下的setting.xml文件,配置本地倉庫。注意是:“E:/”而非“E:\”
例如:E:/mvn-repository
注1:標籤在setting.xml文件的53行
注2:倉庫的作用就是用來存放jar包的
注3:倉庫的分類
中央倉庫
公司倉庫(也叫私人倉庫或私服)
本地倉庫

       中央倉庫(http://search.maven.org/,但一般使用另外一個網站:http://www.mvnrepository.com/)
       公司倉庫
       本地倉庫           
         公司裏面還會有一個大倉庫(本地)全公司使用
         本地倉庫程序員自己使用,私服全公司使用,中央倉庫所有人用

  注4:jar的查找順序:本地倉庫->私服->中央倉庫

  注5:換源“阿里雲”

4.5 maven插件安裝與配置
注1:eclipse4.0以上已經安裝好了,無需額外配置
注2:設置maven安裝路徑
Installations
注3:指定setting.xml文件
User Settings

       Maven用戶可以選擇配置$M2_HOME/conf/settings.xml或者~/.m2/settings.xml,前者是全局範圍的,
       整臺機器上的所有用戶都會直接受到該配置的影響,而後者是用戶範圍的,只有當前用戶纔會受到該配置的影響。
       推薦使用用戶範圍的setting.xml,主要是爲了避免無意識地影響到系統中的其他用戶,
       而且爲了以後maven升級的方便,直接把配置文件從倉庫拷過去就可以了。
  1. Maven的使用1:創建java項目
    Maven project
    maven-archetype-quickstart

    group id:組織id,一般就是公司域名反寫
    artifact id:項目名字
    version:版本
    package:java包名

    src/main(源代碼)
    src/test(測試代碼)
    target
    編譯後、打包後的文件

  2. Maven的使用2:創建web項目
    Maven project
    maven-archetype-webapp

    注1:加入servlet api,不然報錯
    注2:修改Project Facets
    web2.3->web2.5 jdk1.5->jdk1.8

    注3:添加的配置archetypeCatalog=internal可加快項目創建速度
    archetypeCatalog用來指定maven-archetype-plugin讀取archetype-catalog.xml文件的位置:
    internal——maven-archetype-plugin內置的
    local——本地的,位置爲~/.m2/archetype-catalog.xml
    remote——指向Maven中央倉庫的Catalog

  3. maven打包
    maven install

  4. 什麼是POM
    Project Object Model,項目對象模型。
    通過xml格式保存的pom.xml文件。作用類似ant的build.xml文件,功能更強大。
    該文件用於管理:源代碼、配置文件、開發者的信息和角色、問題追蹤系統、組織信息、項目授權、項目的url、項目的依賴關係等等。
    最後,根據你的項目需要更新您的pom.xml

    junit junit 3.8.1 test

    struts2 pom.xml

    網址:www.mvnrepository.com

    在POM 4中,中還引入了,它主要管理依賴的部署。目前可以使用5個值:

    • compile,缺省值,適用於所有階段,會隨着項目一起發佈。
    • provided,類似compile,期望JDK、容器或使用者會提供這個依賴。如servlet.jar。
    • runtime,只在運行時使用,如JDBC驅動,適用運行和測試階段。
    • test,只在測試時使用,用於編譯和運行測試代碼。不會隨項目發佈。
    • system,類似provided,需要顯式提供包含依賴的jar,Maven不會在Repository中查找它。

作業

  1. 使用maven給WEB項目添加
    struts2依賴
    mysql依賴

    用戶登陸+mysql數據庫

  2. 組長搭建一個私服(選做)
    nexus 阿里巴巴

    什麼需要私服
    如果沒有私服,我們所需的所有構件都需要通過maven的中央倉庫和第三方的Maven倉庫下載到本地,
    而一個團隊中的所有人都重複的從maven倉庫下載構件無疑加大了倉庫的負載和浪費了外網帶寬,如果網速慢的話,
    還會影響項目的進程。很多情況下項目的開發都是在內網進行的,連接不到maven倉庫怎麼辦呢?
    開發的公共構件怎麼讓其它項目使用?這個時候我們不得不爲自己的團隊搭建屬於自己的maven私服,
    這樣既節省了網絡帶寬也會加速項目搭建的進程,當然前提條件就是你的私服中擁有項目所需的所有構件

1、環境搭建
2、eclipse集成maven
3、setting文件的理解
4、用maven玩下struts
5、檢驗jar導入成功

注意事項

  1. jar下載失敗
    1.1 last…
    1.2 根據座標直接刪除

  2. 修改pom後報配置未生效
    clear project
    maven->update project

  3. web項目屬性設置
    3.1 缺少servlet依賴
    3.2 Project Facets

    web2.3->web2.5
    jdk1.5->jdk1.8

  4. eclipse優化

    Validation
    classpath…

  5. tomcat優化

4.1 熱加載(debug)
4.2 超時時間

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