Maven項目管理工具
Svn + eclipse 約等於 maven量級
1 Maven的簡介
1.1 什么是maven
是apache下的一個開源項目,是純java開發,並且只是用來管理java項目的
1.2 Maven好處
普通的傳統項目

Maven項目

分析:maven項目為什么這么小?沒有jar。 需要jar嗎?肯定需要。沒有存在於maven項目里面,jar存在於哪?
1.3 依賴管理
1.4 項目一鍵構建
編碼 編譯 測試(junit) 運行 打包 部署

一個 tomcat:run就能把項目運行起來
Maven能干的事:
編譯 測試(junit) 運行 打包 部署
1.5 小結:
Maven的好處:
1.5.1 依賴管理
就是對jar包的統一管理 可以節省空間
1.5.2 一鍵構建
1.5.3 可以跨平台
1.5.4 應用於大型項目 可以提高開發效率
分析:
用戶管理 訂單管理 支付管理 。。。。。
Maven的分模塊開發
互聯網項目 按業務分
傳統項目 按層分 entity dao service web
2 Maven的安裝配置
2.1 下載安裝

從此目錄中拷貝文件:
直接解壓到一個沒有中文沒有空格的文件夾里解壓后的目錄如下:

Maven軟件的核心文件:

2.2 Maven環境變量配置
1、 要配置jdk, maven3.3.9這個版本所需的jdk版本必須要1.7以上
2、 最終要運行的是maven軟件中bin目錄的mvn命令
所以要配置maven的環境變量
在系統變量添加
環境變量的名稱:MAVEN_HOME
變量值:就是maven軟甲解壓的目錄F:\class32\apache-maven-3.3.9
3、把MAVEN_HOME添加到path里

4、驗證maven是否配置成功:
打開dos窗口 輸入: mvn –v

2.3 Maven倉庫
三種倉庫
1、本地倉庫 自己維護
本地倉庫的配置只需要修改settings.xml文件就可以

2、遠程倉庫(私服) 公司維護
3、中央倉庫 maven團隊維護 兩個億
三種倉庫的關系如下:

3 演示入門程序
3.1 Maven的目錄結構


3.2 Maven的常用命令
Clean 清理編譯的文件

Compile 編譯了主目錄的文件

Test 編譯並運行了test目錄的代碼

Package 打包

Install 就是把項目發布到本地倉庫

Tomcat:run 一鍵啟動
3.3 Maven的生命周期(了解)
Compile test package install deploy(發布到私服)
三種生命周期
Clean生命周期
Clean
Default生命周期
Compile test package install deploy
Site生命周期
Site
3.4 命令和生命周期的階段的關系
不同的生命周期的命令可以同時執行
Mvn clean package
4 項目構建
M2e插件的安裝
Maven在eclipse的配置
1、選擇3.3.9版本的maven軟件

2、修改默認的本地倉庫地址

項目構建
1、 新建maven項目

2、調過骨架,如果不跳過骨架選擇創建出的項目目錄是不全的

2、 填寫坐標

3、創建工程

4、處理紅色叉號
手動在webapp文件夾下創建一個WEB-INF文件夾,在里面放一個web.xml文件

5、處理編譯版本
Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.5.1
在pom.xml中添加如下代碼 右鍵項目 ---》maven---》update project
<build> <!-- 配置了很多插件 --> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.5.1</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> </build>
5、創建一個servlet

修改web.xml
刪除重復的代碼
xmlns=http://java.sun.com/xml/ns/javaee

添加jar包
在pom中添加如下代碼:
<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.9</version> <scope>test</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jsp-api</artifactId> <version>2.0</version> <scope>provided</scope> </dependency> </dependencies>
會發現jar包已添加到項目中

啟動項目
右擊項目---run as –maven build ….

5 依賴管理
Jar包的管理
需求:整合struts2 頁面上傳一個客戶id 跳轉頁面
5.1 添加依賴:
打開maven倉庫的視圖:

5.2 重建索引

1、 創建maven項目(同上)
2、 跳過骨架(同上)
3、 填寫坐標信息(同上)
4、 添加web.xml文件(同上)
5、 修改編譯版本(同上)
6、 添加坐標 選擇Dependencies標簽 點擊add

7、 手動輸入要添加的坐標,選擇版本

8、 可以看到 pom.xml文件中多出了如下代碼

9、 同樣的方式添加servlet-api.jar和jsp-api.jar 注意選擇scope為provided
10、 寫action代碼
import com.opensymphony.xwork2.ActionSupport;
public class CutomerAction extends ActionSupport {
private Long custId;
public Long getCustId() {
return custId;
}
public void setCustId(Long custId) {
this.custId = custId;
}
public String findById(){
return SUCCESS;
}
}
11、 添加struts.xml文件放到resources目錄中
內容:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <!-- 配置常量 --> <!-- 字符集 --> <constant name="struts.i18n.encoding" value="UTF-8"></constant> <!-- 開發模式 --> <constant name="struts.devMode" value="true"></constant> <!-- 通用package --> <package name="customer" namespace="/" extends="struts-default"> <action name="find" class="cn.itcast.action.CutomerAction" method="findById"> <result name="success">/jsp/info.jsp</result> </action> </package> </struts>
12、 添加jsp頁面
15、修改web.xml文件 添加過濾器
<filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
5.3 依賴范圍
5.3.1 Compile struts2-core
編譯(compile)時需要 測試時需要,,運行時需要,打包時需要
5.3.2 Provided jsp-api.jar servlet-api.jar
編譯(compile)時需要,測試(test)時也需要 ,運行時不需要,打包時不需要
5.3.3 Runtime 數據庫驅動包
編譯時不需要,測試時需要,,運行時需要,打包時需要
5.3.4 Test junit.jar
編譯時不需要,測試時需要,運行時不需要,打包也不需要
添加插件
Maven add plugin

如果用tomcat7運行用命令:
Tomcat7:run
常見問題:No compiler is provided in this environment. Perhaps you are running on a JRE

解決

