Maven入門基礎

Maven基礎

Maven的Apache公司開源項目,是項目的構建工具,用來依賴管理java

1.maven的好處

  • 使用傳統項目開發cim項目,項目大小幾十兆
  • 使用maven開發幾百kb

一樣的代碼,實現的功能都同樣,那麼maven項目是如何作到的?web

能夠初步推斷,maven項目中必定沒有jar包

沒有jar包,maven項目如何運行?spring

2.maven的好處如何實現

maven的兩大核心shell

  1. 依賴管理:對jar包管理過程
  2. 項目構建:項目在編碼完成後,對項目進行編譯,測試,打包,部署一系列的操做都經過命令來實現

經過maven命令將web項目發佈到tomcatwindows

mvn tomcat:run

3.maven安裝 配置本地倉庫

maven程序安裝前提:maven程序純java開發,它的運行依賴jdkapi

4.maven項目標準目錄結構

5.maven經常使用命令(應用)

  1. clean:清理
mvn clean

將項目根目錄下的target目錄清理掉tomcat

  1. compile:編譯
mvn compile

將項目中的java文件編譯成class文件app

  1. test:單元測試
mvn test

單元測試的類名有要求:xxxTest.java
將項目根目錄下src/test/java目錄下的單元測試類都會執行框架

  1. package:打包
mvn package

web project ---> war包
java project ---> jar包
將項目打包,打包項目根目錄下target目錄eclipse

  1. install:安裝
mvn install

解決本地多個項目公用一個jar包的問題,打包到本地倉庫

  1. maven項目的生命週期(瞭解)

在maven種存在"三套"生命週期,每一套生命週期相互獨立,互不影響,在一套生命週期內,執行後面的命令前面操做會自動執行

- ClwanLifeCycle:清理生命週期
Clean
- defaultLifeCycle:默認生命週期
compile,test,package,install,deploy
- siteLIfeCycle:站點生命週期
site
  1. 概念模型

兩個核心:依賴管理,項目構建

6.maven整合web項目案例

1.配置eclipse種maven環境

(1) 配置m2e插件,Mars2版本自帶maven插件
(2)須要配置maven程序
1.windows -> preferences -> maven -> installations -> add 添加本地maven
2.windows -> preferences -> maven -> User-setting 添加本地setting.xml及本地倉庫
3.windows -> show Windows -> maven Reo... ->local Reo... ->rebuild index 重建索引

2.maven整合servlet

建立好的maven項目有兩個錯誤
(1)缺乏web.xml
(2)jdk編譯版本1.5,在pom.xml中添加依賴

建立servlet

3.依賴範圍

依賴範圍 對於編譯classpath有效 對於測試classpath有效 對於運行時classpath有效 例子
compile Y Y Y spring-core
test - Y - Junit
provided Y Y - servlet-api
runtime - Y Y JDBC驅動
system Y Y - 本地的maven倉庫以外的倉庫

添加依賴範圍,默認是compile
provided:部署到tomcat後再也不須要

問題:
若是將servlet-api這個jar包設置爲compile,最終打包後就包含一個servlet-api.jar包,當war包部署到tomcat中,已存在servlet-api.jar包衝突,致使運行失敗

解決:

<scope>provided</scope>

總結:若是使用到tomcat自帶jar包,須要將項目中依賴做用範圍設置爲:provided

4.運行項目
run as ---> maven build... --->輸入 tomcat:run

5.調試項目
debug as ---> maven build... --->輸入 tomcat:run(記得添加源碼)

7.總結

  1. 安裝
  2. maven標準目錄結構
  3. maven經常使用命令
  4. 使用eclipse開發maven項目
  5. pom.xml項目對象模型
    (1)本項目的座標信息
    (2)本項目jdk編譯版本的信息
    (3)本項目依賴jar包信息

_

1.傳遞依賴衝突解決(瞭解)

依賴傳遞:A(項目)依賴B,B依賴C(1.1版本),B是A的直接依賴,C就是A的依賴傳遞

導入依賴D,D依賴C(1.2版本)

1.1maven本身調解原則

1.第一聲明者優先原則

誰先定義就用誰的傳遞依賴

2.路徑近者優先原則

直接依賴級別高於傳遞依賴

2.排除依賴

3.版本鎖定(推薦使用)

2.經過maven整合ssh框架(重點)

2.1搭建struts2環境

  1. 建立struts2配置文件:struts.xml
  2. 在web.xml中配置struts的核心過濾器

2.2搭建spring環境

  1. 建立spring配置文件:applicationContext.xml
  2. 在web.xml種配置監聽器:ContextLoaderListener

2.3搭建Hibernate環境

  1. 建立hibernate核心配置文件

2.4struts2跟spring整合

整合關鍵點:action對象的建立,交給spring建立

  1. 建立Action類
  2. 將Action對象配置到spring配置文件中
  3. 在struts.xml中在action節點中class屬性配置爲spring工程中action對象bean的id

2.5spring與hibernate整合

整合關鍵點:1.數據源dataSource交給spring 2.SessionFactory對象建立交給spring對象 3.事務管理

3.經過maven對項目進行拆分聚合(重點)

相關文章
相關標籤/搜索