1 Maven的簡介 是apache下的一個開源項目,是純java開發,並且只是用來管理java項目的 Svn eclipse maven量級 同一個項目,普通的傳統項目(24M)而Maven項目只需要(724KB) 分析:maven項目為什麼這麼小?沒有jar。 需要jar嗎?肯定需要。沒有存在於 ...
1 Maven的簡介
1.1 什麼是maven
是apache下的一個開源項目,是純java開發,並且只是用來管理java項目的
Svn eclipse maven量級
1.2 Maven好處
同一個項目,普通的傳統項目(24M)而Maven項目只需要(724KB)
分析: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、處理編譯版本
在pom.xml中添加如下代碼,然後記得右鍵工程Maven UpdateProject
<build> <!-- 配置了很多插件 --> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.5.1</version> <configuration> <source>1.7</source> <target>1.7</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頁面
13、修改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)時也需要 ,運行時不需要,打包時不需要
因為tomcat伺服器裡面預設有,所以運行和打包都不需要
5.3.3 Runtime 資料庫驅動包
編譯時不需要,測試時需要,,運行時需要,打包時需要
5.3.4 Test junit.jar
編譯時不需要,測試時需要,運行時不需要,打包也不需要
添加插件
Maven add plugin
如果用tomcat7運行用命令:
Tomcat7:run
常見問題:
Debug進不去,點擊添加如果無效
那麼就用下麵的方法:
下麵的情況重裝下jdk就行
最後說下概念模型:
插件寫在build裡面
機子裡面都可以不用安裝tomcat啦!!!
插件也是依賴也是jar包