1. 程式人生 > >Maven01——簡介、安裝配置、入門程序、項目構建和依賴管理

Maven01——簡介、安裝配置、入門程序、項目構建和依賴管理

setting end open 環境變量配置 關系 date execute att imp

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 就是把項目發布到本地倉庫

Tomcatrun 一鍵啟動

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插件的安裝

Maveneclipse的配置

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.jarjsp-api.jar 註意選擇scopeprovided

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


Maven01——簡介、安裝配置、入門程序、項目構建和依賴管理