项目管理工具 maven(3) ---- 使用Maven与Eclipse进行项目构建及入门示例

1  m2e插件安装配置

1.1  eclipse与maven

        通过入门程序中命令行的方式使用maven工作效率不高,可以在eclipse开发工具中集成maven软件,eclipse是一个开发工具,maven是一个项目管理工具,maven有一套项目构建的规范,在eclipse集成maven软件,最终通过eclipse创建maven工程。

1.2  插件安装

        本教程使用eclipse mars 2版本,此版本自带maven插件不用单独安装。

        在新建窗口中可看到maven项目的创建项表示maven插件已存在,如下图:

        项目管理工具 maven(3) ---- 使用Maven与Eclipse进行项目构建及入门示例

1.3  指定maven安装目录

        一些高版本的eclipse已经内置了maven的安装,下图是eclipse mars2版本中已经内置了maven3.3.3版本,项目为了统一maven的版本不会使用eclipse内置的maven版本,这里我们使用maven3.3.9。

        项目管理工具 maven(3) ---- 使用Maven与Eclipse进行项目构建及入门示例

1.4  User Setting配置

        在eclipse中配置使用的maven的setting.xml文件,使用maven安装目录下的setting.xml文件。

        项目管理工具 maven(3) ---- 使用Maven与Eclipse进行项目构建及入门示例

        注意:如果修改了 setting.xml文件需要点击上图中的“update settings”按钮对本地仓库重建索引,点击“Reindex”。

1.5  eclipse浏览仓库,建立索引

        maven配置完成需要测试在eclipse中是否可以浏览maven的本地仓库,如果可以正常浏览maven本地仓库则说明eclipse集成maven已经完成。

        Window---show view ------other--------maven Repositories, 打开eclipse仓库视图,对插件和jar包建立索引。

        项目管理工具 maven(3) ---- 使用Maven与Eclipse进行项目构建及入门示例

1.6  重构索引(加快对jar包的查询速度)

         找到Local respository本地仓库项,点击Rebuild index重建索引。

          项目管理工具 maven(3) ---- 使用Maven与Eclipse进行项目构建及入门示例

         重建索引完成点击前边的“+”图标即可查看本地仓库的内容,如下图:

         项目管理工具 maven(3) ---- 使用Maven与Eclipse进行项目构建及入门示例


2  创建Maven工程

2.1  在eclipse中创建一个maven工程

          项目管理工具 maven(3) ---- 使用Maven与Eclipse进行项目构建及入门示例

          这里先选择 Maven Project

          项目管理工具 maven(3) ---- 使用Maven与Eclipse进行项目构建及入门示例

          //如果不跳过archetype,创建的maven工程目录不全,这里跳过archetype

         

         点击next ,可以看到一个helloworld工程,但报错(添加下面的内容就OK了)

         项目管理工具 maven(3) ---- 使用Maven与Eclipse进行项目构建及入门示例


               项目管理工具 maven(3) ---- 使用Maven与Eclipse进行项目构建及入门示例

 

2.2  定义坐标            

       src/java/main创建了一个Servlet,但报错

               项目管理工具 maven(3) ---- 使用Maven与Eclipse进行项目构建及入门示例

        要解决问题,就是要将servlet-api-xxx.jar包放进来,作为maven工程应当添加servlet的坐标,从而导入它的jar。

直接打开helloworld工程的pom.xml文件,再添加坐标。

       不需要手动添加坐标,快捷添加:点击dependencies ---- add ---- 搜索 ---- OK

               项目管理工具 maven(3) ---- 使用Maven与Eclipse进行项目构建及入门示例

        添加后自动生成的结果如下:

         项目管理工具 maven(3) ---- 使用Maven与Eclipse进行项目构建及入门示例

          添加jar包的坐标时,还可以指定这个jar包将来的作用范围。

          项目管理工具 maven(3) ---- 使用Maven与Eclipse进行项目构建及入门示例

          项目管理工具 maven(3) ---- 使用Maven与Eclipse进行项目构建及入门示例

2.3  设置编译版本

        查看上边工程的编译版本为1.5,本教程使用jdk1.7,需要设置编译版本为1.7,这里需要使用maven的插件来设置:

        在pom.xml中加入:

          

        <build>

                        <plugins>

                                <plugin>

                                         <groupId>org.apache.maven.plugins</groupId>

                                         <artifactId>maven-compiler-plugin</artifactId>

                                         <configuration>

                                                  <source>1.7</source>

                                                  <target>1.7</target>

                                                  <encoding>UTF-8</encoding>

                                         </configuration>

                                   </plugin>

                          </plugins>

         </build>


        执行 项目右键 ---- Maven ---- update project,查看编译版本为1.7:

            项目管理工具 maven(3) ---- 使用Maven与Eclipse进行项目构建及入门示例


2.4  定义web.xml

        在src/webapp中添加WEB-INF/web.xml文件,内容为:
       项目管理工具 maven(3) ---- 使用Maven与Eclipse进行项目构建及入门示例


2.5  编写servlet

        在src/main/java中创建ServletTest

        项目管理工具 maven(3) ---- 使用Maven与Eclipse进行项目构建及入门示例

        项目管理工具 maven(3) ---- 使用Maven与Eclipse进行项目构建及入门示例


2.6  编写jsp

        test.jsp的内容如下:

         项目管理工具 maven(3) ---- 使用Maven与Eclipse进行项目构建及入门示例

        index.jsp的内容如下:

        项目管理工具 maven(3) ---- 使用Maven与Eclipse进行项目构建及入门示例

2.7  添加servlet/jsp的jar包

         Servlet类中报错,无法解析javax.sevlet....

         在maven工程中添加jar的方式是需要在pom.xml中添加servlet/jsp的坐标,maven自动从创建下载servlet/jsp的jar包。

         编辑pom.xml,如下:

        项目管理工具 maven(3) ---- 使用Maven与Eclipse进行项目构建及入门示例


2.7.1  入门程序的坐标定义如下:

           <!--项目名称,定义为组织名+项目名,类似包名-->

           <groupId>cn.itcast.maven</groupId>

           <!-- 模块名称 -->

           <artifactId>maven-first</artifactId>

           <!-- 当前项目版本号,snapshot为快照版本即非正式版本,release为正式发布版本-->

           <version>0.0.1-SNAPSHOT</version>

           <packaging> :打包类型

                    jar:执行package会打成jar包

                   war:执行package会打成war包

                   pom :用于maven工程的继承,通常父工程设置为pom


2.8  配置servlet

           在web.xml中配置servlet,如下所示:

         项目管理工具 maven(3) ---- 使用Maven与Eclipse进行项目构建及入门示例

2.9  运行

           cmd命令行进入工程目录,运行tomcat:run命令

3  eclipse下使用maven命令

       在eclipse下测试命令

       clean、compile、test、package、install

       项目管理工具 maven(3) ---- 使用Maven与Eclipse进行项目构建及入门示例

       

        Run as 采用 mvn 命令运行 ,Debug as 采用 mvn Debug 命令调试方式运行(可打断点)

        Maven clean 清理target目录

        Maven test 执行单元测试

        Maven install将工程打包后发布到本地仓库

        Maven build 使用之前操作过的命令

        Maven build … 手动输入命令内容,如下图:

        项目管理工具 maven(3) ---- 使用Maven与Eclipse进行项目构建及入门示例


  • 编译命令 mvn  compile

      编译后 .class文件在 target/classes 下 (这个命令只会对java源程序编译, 不会编译测试代码 , 编译测试类 mvntest-compile , 编译后.class 文件在 target\test-classes

  • 测试命令 mvn  test

      执行所有测试用例方法, 重新编译 

  • 清除命令 mvn  clean

      清除target目录 (清除所有编译结果或者打包结果 ),清理后编译。

  • 打包命名 mvn  package

      java项目生成 jar包, web项目生成war包

      默认生成jar包名称: artifactId-version.jar 

  • 安装命令

      安装命令 mvn install  将工程打包后发布到本地仓库

         ---- 安装到仓库/groupId/artifactId/version 目录