Maven 一  什么是Maven 二  Maven的安装与配置 三  第一个MVN项目 四  MAVEN的一些常用命令 五  MAVEN依赖 六  maven的坐标 七  Maven仓库 八  MAVEN的原理 八  MAVEN与Eclipse的整合 九  Maven与三大框架整合

  

  Maven发展起来的原因是,随着项目的扩大,项目经理每天都需要把svn上提交的代码,进行测试功能。如果测试一个功能要5分钟,如果有20个人的代码量,那么显然,并且每个人提交的代码不仅一个功能,那么显然项目经理啥都不用干了,天天测试代码,我们说的规模还不是特别大,如果再大点,显然项目经理面临着不可完成的任务。

  Maven一个命令,就可以让工程,编译,测试,报告,打包,部署。如果没有Mavan,我们需要把svn项目checkout下来后,写测试类,使用单元测试,放到服务器中,通过浏览器来测试。显然Maven就是这么一个项目管理工具。

  1.1  Maven的生命周期

    清理 -> 编译 -> 测试 -> 报告 -> 打包 -> 部署

  1.2  企业用Maven解决的核心功能

    管理jar包

      1 Maven自动管理jar包,你不再需要记住struts2,spring4,hibernate要使用哪些jar包,以后,都是maven帮助导入jar包。

      2 如果几个项目类似于迭代开发,显然要每次都拷贝之前项目的jar放入当前项目下,有了maven,你也不必在做这些工作。

      3 解决项目中相同插件有相同jar包,或者项目中jar包冲突问题。    

  


二  Maven的安装与配置

  2.0  前提

    Maven的使用必须是jdk1.6版本以上。

  2.1  OS X下安装

    第一步,下载Maven,可以从apache下载。

    第二步,设置path路径

      在这里设置和吃了屎一样难受,

      1.首先当然使用"open .bash_profile",打开该文件.

      2.然后添加路径"export PATH=${PATH}:/Users/admin/Downloads/apache-maven-3.2.5/bin"

      3.使用"source .bash_profile"让配置生效。这里如果你配置的路径有问题,会报错

      4.按理说,前三部已经配置完毕,可使用"mvn -v"来效验是否配置成功了,我在这里报了2个错误,

        第一个错误是"-bash: /Users/admin/Downloads/apache-maven-3.2.5/bin/mvn: Permission denied",说明权限不够,需要添加权限。使用“chmod a+x /Users/admin/Downloads/apache-maven-3.2.5/bin/mvn”。

        第二个错误是"-bash: /Users/admin/Downloads/apache-maven-3.2.5/bin/mvn: /bin/sh: bad interpreter: Operation not permitted",国外的coder给出的解释是“OS X 10.7.3 or higher的版本设置了隔离属性,来阻止了执行,我们需要使用xattr -d com.apple.quarantine /bin/sh,来让其执行。下面就配置成了,

      5.成功页面

      Maven
一  什么是Maven
二  Maven的安装与配置
三  第一个MVN项目
四  MAVEN的一些常用命令
五  MAVEN依赖
六  maven的坐标
七  Maven仓库
八  MAVEN的原理
八  MAVEN与Eclipse的整合
九  Maven与三大框架整合

 

  2.1  windows下安装

    第一步:下载MVN

     这里选择了Binary zip archive对应的apache-maven-3.3.9-bin.zip进行了下载

    第二步:配置系统环境变量

     1.%MVN_HOME%="...."

     2.PATH="%MVN_HOME%in;......"

    第三步:mvn -v测试是否配置成功

   2.2  建库

        不论project1,project2,project3分别需要哪些各自的jar包,都会从Maven仓库中去引用要用的jar包。显然Maven仓库存放了大量的jar包,加入你要做一个s2sh项目,那么仓库中就要有s2sh的所有jar包,之后当你开发s2sh项目的时候,只需要引入仓库中的jar包就ok了,

      Maven
一  什么是Maven
二  Maven的安装与配置
三  第一个MVN项目
四  MAVEN的一些常用命令
五  MAVEN依赖
六  maven的坐标
七  Maven仓库
八  MAVEN的原理
八  MAVEN与Eclipse的整合
九  Maven与三大框架整合

    2.2.1  创建文件夹

     现在创建你自己的Maven仓库,也就是你以后要开发项目时,从这个你创建Maven仓库中去寻找jar包,我自己在/Users路径下创建了一个"mvn_repository"文件。

    2.2.2  setting.xml

     你创建了Mavan仓库后,需要告知Maven啊,原本Mavan给你提供了默认的Mavan仓库,既然我们创建了自己的,所以我们需要修改默认值。那么在哪里修改呢

     在你下载的Mavan工具中,config目录下的有一个setting.xml文件,修改下列的路径。

  <localRepository>/Users/mvn_repository</localRepository>

 

  2.3  maven约定

    我们现在要利用Maven来管理项目,那么显然你要符合Mavan的约定,约定指的是你创建source folder的名字

 

    class path下有以下几个文件:

      src/main/java:存放项目的java文件

      src/main/resource:存放项目的资源文件,如spring,hibernate的配置文件

      src/test/java:存放所有测试文件

      src/test/resource:存放测试用的资源文件

      target:项目输出位置

      pom.xml:当要从仓库中寻找jar包的时候用到的文件,但仅仅不只这一个功能。

  


三  第一个MVN项目

  

  第一步:创建一个工项目,按照maven约定来创建文件。

  Maven
一  什么是Maven
二  Maven的安装与配置
三  第一个MVN项目
四  MAVEN的一些常用命令
五  MAVEN依赖
六  maven的坐标
七  Maven仓库
八  MAVEN的原理
八  MAVEN与Eclipse的整合
九  Maven与三大框架整合

  第二步:创建一个简单类Son,与一个测试类SonTest

public class Son {
    public void sonSay(){
        System.out.println("我是儿子");
    }
}
--------------------------------
public class SonTest {

    public static void main(String[] args) {
        Son son=new Son();
        son.sonSay();
    }
}

  第三步:写pom.xml配置文件(简易版本,先不考虑其他东西)

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.maven</groupId>
  <artifactId>fristItemSon</artifactId>
  <version>0.0.1-SNAPSHOT</version>

  <name>fristItemSon</name>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
</project>

  第四步:打开Terminal,cd到Son项目下,使用"mvn compile"命令进行编译,想想之前配置了一个环境变量,此处才能使用"mvn"命令。

    【注意】  一定要cd到项目路径下,才能成功。

    看到如下信息生成成功。

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.632 s
[INFO] Finished at: 2016-02-20T14:56:27+08:00
[INFO] Final Memory: 9M/81M
[INFO] ------------------------------------------------------------------------
admindeMacBook-Pro:Son admin$ mvn clean

    现在reflush你的项目,因为编译成功,所以reflush后可以看到target文件。也就是项目输出位置

    Maven
一  什么是Maven
二  Maven的安装与配置
三  第一个MVN项目
四  MAVEN的一些常用命令
五  MAVEN依赖
六  maven的坐标
七  Maven仓库
八  MAVEN的原理
八  MAVEN与Eclipse的整合
九  Maven与三大框架整合


四  MAVEN的一些常用命令

  

  4.0  mvn生命周期

    清理 -> 编译 -> 测试 -> 报告 -> 打包 -> 部署

  4.1  mvn clean

    清理:mvn clean后,reflush项目,发现target文件没有了。输出文件被删除了

  4.2  mvn compile

    编译:之前我们使用过了该命令

  4.2  mvn test

    测试:可以看到Mavan帮我们运行了src/test/java下的文件。并把测试后的一些信息打印到了Termianl。

  4.3  mvn package

    打包:看到target文件中生成了一个jar包

    Maven
一  什么是Maven
二  Maven的安装与配置
三  第一个MVN项目
四  MAVEN的一些常用命令
五  MAVEN依赖
六  maven的坐标
七  Maven仓库
八  MAVEN的原理
八  MAVEN与Eclipse的整合
九  Maven与三大框架整合

    其中名字是根据pom.xml中生成的

  4.4  mvn install

    把当前项目放入到Maven的类库中,你可以从你的Maven仓库中找到这个项目
    Maven
一  什么是Maven
二  Maven的安装与配置
三  第一个MVN项目
四  MAVEN的一些常用命令
五  MAVEN依赖
六  maven的坐标
七  Maven仓库
八  MAVEN的原理
八  MAVEN与Eclipse的整合
九  Maven与三大框架整合

  4.5  关于报告

    你可以从生成的target中的surefire-reports文件中看到,文件下有以下两个文件。

       com.dyp.maven.SonTest.txt是测试报告

       TEST-com.dyp.maven.SonTest.xml是系统级的一些参数。

  【牢记】

     无论你执行了Mavan生命周期的第几个步骤,Mavan会自动执行他之前的步骤。比如当你输入"mvn test"的时候,Mavan会把"mvn clean -> mvn compile"都执行了。 

 


 

五  MAVEN依赖

  5.1  先看一个项目

    创建Father项目,这个项目中我们用之前创建的Son项目中的类

    第一步:创建Father项目

    Maven
一  什么是Maven
二  Maven的安装与配置
三  第一个MVN项目
四  MAVEN的一些常用命令
五  MAVEN依赖
六  maven的坐标
七  Maven仓库
八  MAVEN的原理
八  MAVEN与Eclipse的整合
九  Maven与三大框架整合

    第二步:创建简单类Father和测试类FatherTest

public class Father {
    public void sonSay(){
      //不要理会这里Son这里的报错,
        Son son=new Son();
        son.sonSay();
    }
}
------------------------------
public class FatherTest {
    public static void main(String[] args) {
        Father father=new Father();
        father.sonSay();
    }
}

    第三步:写pom.xml配置文件(关键在这里)

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.maven</groupId>
  <artifactId>secondItemFather</artifactId>
  <version>0.0.1-SNAPSHOT</version>

  <name>secondItemFather</name>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
  <dependencies>
      <!-- 内容就是Son项目中的pom.xml的配置,这里就告诉Maven,要想编译Father项目,需要Son的jar包-->
      <dependency>
            <groupId>com.maven</groupId>
             <artifactId>fristItemSon</artifactId>
          <version>0.0.1-SNAPSHOT</version>
      </dependency>
  </dependencies>
</project>

    第四步:打开Terminal,cd到Father项目下,使用"mvn compile"命令进行编译

      如果你报了下面错误,那就是因为Maven编译你得Fahter项目时,去仓库中找Son项目,发现没有!所以你要首先把Son项目放到Mavan仓库的类库中,也就是使用"mvn install"把Son项目放进去。然后才可以编译Father项目

 Failed to execute goal on project hellofriend: Could not resolve dependencies for project com.maven:hellofriend:jar:0.0.1-SNAPSHOT: Could not find artifact com.maven:hello:jar:0.0.1-SNAPSHOT -> [Help 1]

    【总结】

       在这个项目中,我们在Father项目的pom.xml中配置了一些新东西,Mavan就自动把仓库中的Son项目交给了Father项目,使得Father项目可以使用Son项目中的了

  5.2  Maven的依赖传递性

    5.2.1  再通过一个项目,深入了解依赖传递性

      第一步:创建GrandFather项目

      Maven
一  什么是Maven
二  Maven的安装与配置
三  第一个MVN项目
四  MAVEN的一些常用命令
五  MAVEN依赖
六  maven的坐标
七  Maven仓库
八  MAVEN的原理
八  MAVEN与Eclipse的整合
九  Maven与三大框架整合

      第二步:创建GrandFather简单类和GrandFatherTest类

public class GrandFather {
    public void grandFatherSay(){
        Father father=new Father();
        father.sonSay();
    }
}
----------------------------------------
public class GrandFatherTest {
    public static void main(String[] args) {
        GrandFather grandFather=new GrandFather();
        grandFather.grandFatherSay();
    }
}

      第三步:修改pom.xml(注意这里)

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.maven</groupId>
  <artifactId>thirdItemGrandFather</artifactId>
  <version>0.0.1-SNAPSHOT</version>

  <name>thirdItemGrandFather</name>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
  <dependencies>
        <!-- 只配置了Father项目的jar包依赖.. -->
      <dependency>
            <groupId>com.maven</groupId>
          <artifactId>secondItemFather</artifactId>
          <version>0.0.1-SNAPSHOT</version>
      </dependency>
  </dependencies>
</project>

       【总结】

         其实GrandFather项目仅仅配置了Father项目依赖,但实际上,GrandFather项目还使用到了Son项目中的类,但我们在Father项目中配置Son项目依赖,所以对于GrandFather项目来说,当我们配置了Father项目依赖的同时,Father项目把自身依赖的Son项目,也交给了GrandFather。这就是依赖的传递性

         我在写这个项目还出现了一个错误

Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project thirdItemGrandFather: Compilation failure: Compilation failure:

         对于这个错误,网络上有很多解释,什么系统默认jdk版本不够等等。但是我最终解决这个问题是通过查阅Terminal给我提供的一个错误解决方法

,国外的回答如下

Unlike many other errors, this exception is not generated by the Maven core itself but by a plugin. As a rule of thumb, plugins use this error to signal a failure of the build because there is something wrong with the dependencies or sources of a project, e.g. a compilation or a test failure.
The concrete meaning of the exception depends on the plugin so please have a look at its documentation. The documentation for many common Maven plugins can be reached via our plugin index.

         最终,我发现我的错误出在了测试类忘了写包名,导致测试类使用简单类时,因为一个是默认包,一个是指定包,导致了测试类没有import引入类,所以我写了和简单类一样的包名,就编译通过了

 

  5.2  Maven中的jar包的继承管理

    对于上面的GrandFather,Father,son来说,如果同时需要一个Junit的jar包,就需要在三个pom.xml都配置Junit依赖。但显然,Maven不会这么傻,Maven有自己的继承机制

    5.2.1  通过项目来看

      第一步:创建一个用来被继承的项目,该项目依赖了Son和Junit包

        Maven
一  什么是Maven
二  Maven的安装与配置
三  第一个MVN项目
四  MAVEN的一些常用命令
五  MAVEN依赖
六  maven的坐标
七  Maven仓库
八  MAVEN的原理
八  MAVEN与Eclipse的整合
九  Maven与三大框架整合

        只有一个pom.xml配置,配置如下

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.maven</groupId>
  <artifactId>fatherBase</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>pom</packaging>  //重要

  <name>fatherBase</name>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
  <dependencies>
      <dependency>
            <groupId>com.maven</groupId>
             <artifactId>fristItemSon</artifactId>
          <version>0.0.1-SNAPSHOT</version>
      </dependency>
      <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>4.9</version>
          <scope>test</scope>
      </dependency>
  </dependencies>
</project>

      第二步:创建继承类,直接继承上面的FatherBase项目

        为了演示,就不写两个测试source folder了。

        Maven
一  什么是Maven
二  Maven的安装与配置
三  第一个MVN项目
四  MAVEN的一些常用命令
五  MAVEN依赖
六  maven的坐标
七  Maven仓库
八  MAVEN的原理
八  MAVEN与Eclipse的整合
九  Maven与三大框架整合   

         其中FatherBaseExtends这个简单定义如下:

//直接使用了Son中的类
public class FatherBaseExtends {
    public void say(){
        Son son=new Son();
        son.sonSay();
    }
}

      第三步:pom.xml是核心,配置如下

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.maven</groupId>
  <artifactId>fatherBaseExtends</artifactId>
  <version>0.0.1-SNAPSHOT</version>

  <name>fatherBaseExtends</name>
  //这里是核心,使用parent标签,继承FatherBase项目
  <parent>
       <groupId>com.maven</groupId>
      <artifactId>fatherBase</artifactId>
      <version>0.0.1-SNAPSHOT</version>
  </parent>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
  
</project>

       【总结】

          FatherBase与两个最基础的包(Son与Junit)依赖,让FatherBaseExtends直接继承FatherBase,就能使用Son和Junit中的类,这样Junit这样的每个类都需要使用时,直接继承即可。

  5.3  Maven对包的管理总结

    依赖:(类似于java中的引用)

      例子:Son提供了基本方法实现,Father中要使用时,直接在Father的pom.xml中依赖Son即可。GrandFather中调用Father时,直接在GrandFather的pom.xml中依赖Father即可,尽管Father使用了Son方法,但因为依赖的传递性,GrandFather依赖Father的同时,也依赖了Father依赖的包。

    继承:(类似于java中的继承)

      例子:当要想给Son,Father,GrandFather都使用Junit项目时,我们把Son和Junit进行了封装,也就是创建一个BaseSon项目,不写任何包,仅仅定义一个pom.xml来表示该项目依赖了Son与Junit。Father仅仅继承BaseSon即可调用Son中的方法,也可以使用Junit

     


六  maven的坐标

  

  我们Maven中的依赖或者继承,都是Maven去仓库中寻找我们要使用的jar包,那么Maven怎么就通过pom.xml文件找到了,pom.xml中的配置到底传给Maven什么信息?

  下面的配置就是Maven用来定位jar包所在地方的坐标

  <groupId>com.maven</groupId>
  <artifactId>fatherBaseExtends</artifactId>
  <version>0.0.1-SNAPSHOT</version>   

  通过这三个标签,Maven会从com.maven.fatherBase.Extends.0.01-SNAPSHOT下去寻找所需要的jar包

  Maven
一  什么是Maven
二  Maven的安装与配置
三  第一个MVN项目
四  MAVEN的一些常用命令
五  MAVEN依赖
六  maven的坐标
七  Maven仓库
八  MAVEN的原理
八  MAVEN与Eclipse的整合
九  Maven与三大框架整合

  

  6.1  总结

   maven就是根据坐标从仓库中寻找jar包,groupId,artifactId,version一个都不能缺少。 

   并且我们项目的pom.xml文件发布到仓库的类库时,就变成了.pom文件。我们通过.pom文件就可以找到依赖的jar包的详细位置


七  Maven仓库

  Maven
一  什么是Maven
二  Maven的安装与配置
三  第一个MVN项目
四  MAVEN的一些常用命令
五  MAVEN依赖
六  maven的坐标
七  Maven仓库
八  MAVEN的原理
八  MAVEN与Eclipse的整合
九  Maven与三大框架整合

  本地仓库:之前在setting.xml配置的了我们的本地仓库,当然也有默认的本地仓库

  *库:Maven默认的远程仓库,http://repo1.maven.org/maven2

  私服:用来代替*库,比*库要快


八  MAVEN的原理

Maven
一  什么是Maven
二  Maven的安装与配置
三  第一个MVN项目
四  MAVEN的一些常用命令
五  MAVEN依赖
六  maven的坐标
七  Maven仓库
八  MAVEN的原理
八  MAVEN与Eclipse的整合
九  Maven与三大框架整合

  pom.xml:Maven工程都要有该文件,该文件记录了依赖包的坐标

  项目对象模型:Maven把pom.xml变为项目对象模型

  依赖管理模型:从三个仓库寻找依赖包

  Plug-in:之前的命令"mvn install/clean/compile..."能运行,就是因为/Users/mvn_repository/org/apache/maven/plugins该文件的存在,如果你删除了该文件,当你在命令行输入"mvn compile/clean/.."这些操作的时候,MAVEN会先联网下载plugins文件,然后才会执行其功能,可以看出,该文件的重要性。


八  MAVEN与Eclipse的整合

  第一步:Eclipse可能有自带Maven,不过不管他有没有自带的,我们都要用自己下载的Maven

    打开preference。找到

      Maven
一  什么是Maven
二  Maven的安装与配置
三  第一个MVN项目
四  MAVEN的一些常用命令
五  MAVEN依赖
六  maven的坐标
七  Maven仓库
八  MAVEN的原理
八  MAVEN与Eclipse的整合
九  Maven与三大框架整合

      installations:eclipse自带的maven,我们要导入自己下载的maven

      User Settings(*):默认路径是.m2下的文件。我们要使用下载下来maven中config的settings.xml。Eclipse会自动查看xml文件中我们配置的库路径。

      配置完毕后就针对我们指定的库开始进行操作了。

  第二步:开始创建eclipse工程,

      Maven
一  什么是Maven
二  Maven的安装与配置
三  第一个MVN项目
四  MAVEN的一些常用命令
五  MAVEN依赖
六  maven的坐标
七  Maven仓库
八  MAVEN的原理
八  MAVEN与Eclipse的整合
九  Maven与三大框架整合  

     其中下拉框中的内容就是MAVEN的骨架,当你选择后,eclipse会自动生成一些东西,然后一直next,输入artifactID与gourpID后,就自动成了Maven项目,也就是项目左上角有个m

     此时我们看到只有两个source folder。一个main,一个test。

    Maven
一  什么是Maven
二  Maven的安装与配置
三  第一个MVN项目
四  MAVEN的一些常用命令
五  MAVEN依赖
六  maven的坐标
七  Maven仓库
八  MAVEN的原理
八  MAVEN与Eclipse的整合
九  Maven与三大框架整合

     此时可以再创建两个resources,用来存放一些资源配置。就和之前的方式一样

     其中Maven Dependencies就是Maven的依赖库,当你修改pom.xml中的依赖时,他会自动变化。

  第三步:

     Maven
一  什么是Maven
二  Maven的安装与配置
三  第一个MVN项目
四  MAVEN的一些常用命令
五  MAVEN依赖
六  maven的坐标
七  Maven仓库
八  MAVEN的原理
八  MAVEN与Eclipse的整合
九  Maven与三大框架整合

     我们发现没有"mvn compile"。所以我们要使用的“maven build”命令

     Maven
一  什么是Maven
二  Maven的安装与配置
三  第一个MVN项目
四  MAVEN的一些常用命令
五  MAVEN依赖
六  maven的坐标
七  Maven仓库
八  MAVEN的原理
八  MAVEN与Eclipse的整合
九  Maven与三大框架整合,在里面输入"compile"。点击run就ok了。

  


九  Maven与三大框架整合

  9.1 把Maven project转换成Dynamic web project

    第一步:创建Maven工程

      1.在eclipse的菜单栏选择File->New->Other->Maven->Maven Project        

      2.下一步后选择Create a simple project(skip archetype selection),如图

      Maven
一  什么是Maven
二  Maven的安装与配置
三  第一个MVN项目
四  MAVEN的一些常用命令
五  MAVEN依赖
六  maven的坐标
七  Maven仓库
八  MAVEN的原理
八  MAVEN与Eclipse的整合
九  Maven与三大框架整合

      3.下一步后输入Group Id,Archive Id,Packaging后点击Finish,如图 

      Maven
一  什么是Maven
二  Maven的安装与配置
三  第一个MVN项目
四  MAVEN的一些常用命令
五  MAVEN依赖
六  maven的坐标
七  Maven仓库
八  MAVEN的原理
八  MAVEN与Eclipse的整合
九  Maven与三大框架整合 

      4.创建成功后的文件目录,如图

      Maven
一  什么是Maven
二  Maven的安装与配置
三  第一个MVN项目
四  MAVEN的一些常用命令
五  MAVEN依赖
六  maven的坐标
七  Maven仓库
八  MAVEN的原理
八  MAVEN与Eclipse的整合
九  Maven与三大框架整合

    第二步:把Maven project转换为java的Dynamic Web project

      1.右键点击Project的名称,选择Properties

      2.左边选择Project Facets

      3.勾选

      Maven
一  什么是Maven
二  Maven的安装与配置
三  第一个MVN项目
四  MAVEN的一些常用命令
五  MAVEN依赖
六  maven的坐标
七  Maven仓库
八  MAVEN的原理
八  MAVEN与Eclipse的整合
九  Maven与三大框架整合

    最后点击Properties for showcase的OK完成转换,最后的目录结构,如图

      Maven
一  什么是Maven
二  Maven的安装与配置
三  第一个MVN项目
四  MAVEN的一些常用命令
五  MAVEN依赖
六  maven的坐标
七  Maven仓库
八  MAVEN的原理
八  MAVEN与Eclipse的整合
九  Maven与三大框架整合

    第三步:修改Java Build Path

      1.右键点击Project的名称,选择Properties

      2.选择Java Build Path,将JRE 1.5版本Remove掉,然后点击Add Library,如图

      Maven
一  什么是Maven
二  Maven的安装与配置
三  第一个MVN项目
四  MAVEN的一些常用命令
五  MAVEN依赖
六  maven的坐标
七  Maven仓库
八  MAVEN的原理
八  MAVEN与Eclipse的整合
九  Maven与三大框架整合

      3.选择JRE System Library,点击Next,如图

      Maven
一  什么是Maven
二  Maven的安装与配置
三  第一个MVN项目
四  MAVEN的一些常用命令
五  MAVEN依赖
六  maven的坐标
七  Maven仓库
八  MAVEN的原理
八  MAVEN与Eclipse的整合
九  Maven与三大框架整合

      4.选择你设置的jdk6版本,点击Finish,如图

      Maven
一  什么是Maven
二  Maven的安装与配置
三  第一个MVN项目
四  MAVEN的一些常用命令
五  MAVEN依赖
六  maven的坐标
七  Maven仓库
八  MAVEN的原理
八  MAVEN与Eclipse的整合
九  Maven与三大框架整合

      5.最后点击OK,完成设置,如图

      Maven
一  什么是Maven
二  Maven的安装与配置
三  第一个MVN项目
四  MAVEN的一些常用命令
五  MAVEN依赖
六  maven的坐标
七  Maven仓库
八  MAVEN的原理
八  MAVEN与Eclipse的整合
九  Maven与三大框架整合

    四.修改Java Compile

      1.右键点击Project的名称,选择Properties

      2.选择Java Compiler,并选择Compiler compliance level为1.6,如图

      Maven
一  什么是Maven
二  Maven的安装与配置
三  第一个MVN项目
四  MAVEN的一些常用命令
五  MAVEN依赖
六  maven的坐标
七  Maven仓库
八  MAVEN的原理
八  MAVEN与Eclipse的整合
九  Maven与三大框架整合

    五.修改Deployment Assembly

      1.右键点击Project的名称,选择Properties

      2.选择Deployment Assembly,并点击Add,如图

      Maven
一  什么是Maven
二  Maven的安装与配置
三  第一个MVN项目
四  MAVEN的一些常用命令
五  MAVEN依赖
六  maven的坐标
七  Maven仓库
八  MAVEN的原理
八  MAVEN与Eclipse的整合
九  Maven与三大框架整合

    3.选择Java Build Path Entries,点击Next,如图

       Maven
一  什么是Maven
二  Maven的安装与配置
三  第一个MVN项目
四  MAVEN的一些常用命令
五  MAVEN依赖
六  maven的坐标
七  Maven仓库
八  MAVEN的原理
八  MAVEN与Eclipse的整合
九  Maven与三大框架整合

    4.选择Maven Dependencies,点击Finish,如图

      Maven
一  什么是Maven
二  Maven的安装与配置
三  第一个MVN项目
四  MAVEN的一些常用命令
五  MAVEN依赖
六  maven的坐标
七  Maven仓库
八  MAVEN的原理
八  MAVEN与Eclipse的整合
九  Maven与三大框架整合 

    5.最好点击OK,完成设置,如图

      Maven
一  什么是Maven
二  Maven的安装与配置
三  第一个MVN项目
四  MAVEN的一些常用命令
五  MAVEN依赖
六  maven的坐标
七  Maven仓库
八  MAVEN的原理
八  MAVEN与Eclipse的整合
九  Maven与三大框架整合

    六.设置Server Apache Tomcat

      1.菜单栏选择Window->Show View->Servers

      2.点击new server wizard,如图

      Maven
一  什么是Maven
二  Maven的安装与配置
三  第一个MVN项目
四  MAVEN的一些常用命令
五  MAVEN依赖
六  maven的坐标
七  Maven仓库
八  MAVEN的原理
八  MAVEN与Eclipse的整合
九  Maven与三大框架整合 

      3.选择Tomcat v6.0 Server,点击Next,如图

      Maven
一  什么是Maven
二  Maven的安装与配置
三  第一个MVN项目
四  MAVEN的一些常用命令
五  MAVEN依赖
六  maven的坐标
七  Maven仓库
八  MAVEN的原理
八  MAVEN与Eclipse的整合
九  Maven与三大框架整合

    4.选择Browse,选择正确的Apache Tomcat的安装目录,然后点击Next,如图

      Maven
一  什么是Maven
二  Maven的安装与配置
三  第一个MVN项目
四  MAVEN的一些常用命令
五  MAVEN依赖
六  maven的坐标
七  Maven仓库
八  MAVEN的原理
八  MAVEN与Eclipse的整合
九  Maven与三大框架整合

    5.选择要部署的项目如showcase,然后点击Add,点击Finish,如图

      Maven
一  什么是Maven
二  Maven的安装与配置
三  第一个MVN项目
四  MAVEN的一些常用命令
五  MAVEN依赖
六  maven的坐标
七  Maven仓库
八  MAVEN的原理
八  MAVEN与Eclipse的整合
九  Maven与三大框架整合

    注意:

      在Add and Remove的时候提示这个:Tomcat version 6.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 Web modules  Maven
一  什么是Maven
二  Maven的安装与配置
三  第一个MVN项目
四  MAVEN的一些常用命令
五  MAVEN依赖
六  maven的坐标
七  Maven仓库
八  MAVEN的原理
八  MAVEN与Eclipse的整合
九  Maven与三大框架整合

      Maven
一  什么是Maven
二  Maven的安装与配置
三  第一个MVN项目
四  MAVEN的一些常用命令
五  MAVEN依赖
六  maven的坐标
七  Maven仓库
八  MAVEN的原理
八  MAVEN与Eclipse的整合
九  Maven与三大框架整合

      Maven
一  什么是Maven
二  Maven的安装与配置
三  第一个MVN项目
四  MAVEN的一些常用命令
五  MAVEN依赖
六  maven的坐标
七  Maven仓库
八  MAVEN的原理
八  MAVEN与Eclipse的整合
九  Maven与三大框架整合

    6.完成设置后的项目如图

      Maven
一  什么是Maven
二  Maven的安装与配置
三  第一个MVN项目
四  MAVEN的一些常用命令
五  MAVEN依赖
六  maven的坐标
七  Maven仓库
八  MAVEN的原理
八  MAVEN与Eclipse的整合
九  Maven与三大框架整合

    7.在Servers View上双击Tomat v6.0 Server at localhost[Stopped Republish],如图

      Maven
一  什么是Maven
二  Maven的安装与配置
三  第一个MVN项目
四  MAVEN的一些常用命令
五  MAVEN依赖
六  maven的坐标
七  Maven仓库
八  MAVEN的原理
八  MAVEN与Eclipse的整合
九  Maven与三大框架整合

    8.修改项目的部署目录为Tomcat installtion目录,如图

      Maven
一  什么是Maven
二  Maven的安装与配置
三  第一个MVN项目
四  MAVEN的一些常用命令
五  MAVEN依赖
六  maven的坐标
七  Maven仓库
八  MAVEN的原理
八  MAVEN与Eclipse的整合
九  Maven与三大框架整合

    9.修改项目的访问路径,即去掉比如http://localhost/showcase/目录中的showcase,如图

      Maven
一  什么是Maven
二  Maven的安装与配置
三  第一个MVN项目
四  MAVEN的一些常用命令
五  MAVEN依赖
六  maven的坐标
七  Maven仓库
八  MAVEN的原理
八  MAVEN与Eclipse的整合
九  Maven与三大框架整合

    10.关掉Auto reloading enabled,这样不用每次修改文件就自动部署,如图

      Maven
一  什么是Maven
二  Maven的安装与配置
三  第一个MVN项目
四  MAVEN的一些常用命令
五  MAVEN依赖
六  maven的坐标
七  Maven仓库
八  MAVEN的原理
八  MAVEN与Eclipse的整合
九  Maven与三大框架整合

    11.右键点击Tocmat v6.0 Server at localhost[Stopped Republish],点击Clean即可完成web project的部署,如图

      Maven
一  什么是Maven
二  Maven的安装与配置
三  第一个MVN项目
四  MAVEN的一些常用命令
五  MAVEN依赖
六  maven的坐标
七  Maven仓库
八  MAVEN的原理
八  MAVEN与Eclipse的整合
九  Maven与三大框架整合

    12.最后在Tomcat的目录部署成功,如图

      Maven
一  什么是Maven
二  Maven的安装与配置
三  第一个MVN项目
四  MAVEN的一些常用命令
五  MAVEN依赖
六  maven的坐标
七  Maven仓库
八  MAVEN的原理
八  MAVEN与Eclipse的整合
九  Maven与三大框架整合